La risposta di cui sopra non è corretto. Si ottiene fianco a fianco con i quadri completi. A. NET 2 APPLICATION (nota che significa EXE, non libreria) non promuoverà automaticamente su .Net 4.
Ma se un'applicazione .Net 4 carica un assembly .Net 2 viene caricato nello stesso runtime (altrimenti come potrebbero condividere informazioni). L'assembly .Net 2 viene caricato nel runtime .net 4 utilizzando una modalità di compatibilità che dovrebbe minimizzare la rottura delle modifiche (principalmente per i cambiamenti di sicurezza in .Net 4).
Un assieme .Net 2 non può fare riferimento a un assieme .Net 4 perché non avrebbe caratteristiche.
L'unica eccezione a ciò che so è se si carica un assembly .Net da un'app C++. L'applicazione C++ può caricare e ospitare due runtime. Potrebbe avere un assembly .Net 2 e un assembly .Net 4 caricato, ma non sarebbero in grado di parlare tra loro direttamente. Questo è il modo in cui i Proc sulle CLR funzionano in SQL Server. È possibile avere un .Net 2 CLR Proc e un .Net 4 CLR Proc che non comunicano, ma sono entrambi caricati sul server.
C'è stato un grande articolo su MSDN Magazine sull'hosting del framework .Net recentemente, ma non riesco a trovarlo ora. Forse qualcun altro può pubblicare il link.
Quindi dovresti essere in grado di caricare praticamente qualsiasi .Net 2 in un .Net 4 eseguibile senza molti problemi. Gli unici problemi che ho visto sono con i permessi di sicurezza.
fonte
2010-10-08 01:20:01
Non so se stai parlando dell'articolo "API CLR Hosting": msdn.microsoft.com/en-us/magazine/cc163567.aspx – user276648