2011-07-12 8 views
6

Czy jest możliwe dynamiczne tworzenie zespołu, który kieruje na inny program wykonawczy z bieżącego elementu AppDomain.Zmiana AssemblyBuilder ImageRuntimeVersion

Na przykład z poziomu aplikacji .NET 4.0 chcę utworzyć nowy zespół, który jest przeznaczony zamiast .NET 2.0.

AssemblyBuilder builder = Thread.GetDomain().DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave); 
var version = builder.ImageRuntimeVersion; //"v4.0.30319" 
+1

Nie wiem o :( – leppie

Odpowiedz

7

Jeśli nadal potrzebne Znalazłem następujący przykład:

MSDN Blog- Targeting the .NET 2 Framework when using AssemblyBuilder under .NET 4

Wygląda na to trzeba użyć CLR natywne API.

+1

To wygląda wspaniale, wypróbuję to, gdy wrócę do pracy w styczniu. Jeśli zadziała, przyjmie odpowiedź: – Peervm

+0

Czy to działa? odpowiedź, więc albo zostało zapomniane, albo nie działało.Mam sytuację, w której napisałem narzędzie, które używa funkcji z .net 4.0, to jest generowanie biblioteki dla frameworka, który jest tylko .net 2.0, więc Muszę umieć kierować na starsze ramy. –