2010-01-12 14 views
19

Mam zainstalowane środowisko wykonawcze .NET 2.0, a następnie zainstalowałem środowisko wykonawcze .NET 4.0, więc mam oba. Kiedy uruchamiam aplikację .NET, czy istnieje sposób na wymuszenie użycia tego środowiska wykonawczego?Wymuszenie uruchomienia aplikacji w określonej wersji środowiska .NET?

Edycja/doprecyzowanie: Chodzi mi o to, w jaki sposób aplikacja została zbudowana. Jestem przy założeniu, że środowisko wykonawcze .NET 4.0 może uruchomić program .NET skompilowany 5 lat temu, który był ukierunkowany na środowisko wykonawcze 2.0 (oldprogram.exe). Teraz jestem na komputerze z obydwoma uruchomieniami, z których jeden może obsługiwać oldprogram.exe. Który z runtime został wybrany? Czy mogę wpływać na to, które środowisko uruchomieniowe jest wybrane?

Odpowiedz

26

Tak, użyj elementu <supportedRuntime> w pliku .exe.config. Na przykład:

<configuration> 
    <startup> 
     <supportedRuntime version="v2.0.50727"/> 
    </startup> 
</configuration> 
6

Spójrz: Configuring Assembly Binding Redirection

Domyślnie aplikacje korzystają z zestawu .NET Framework asembl dostarczane z wersją środowiska wykonawczego używaną do kompilowania aplikacji. Atrybutu applyTo można użyć na elemencie <assemblyBinding> w pliku konfiguracyjnym aplikacji, aby przekierować odwołania do wiązania zespołu do określonej wersji zestawów .NET Framework. Ten opcjonalny atrybut używa numeru wersji systemu .NET Framework do wskazania wersji, której dotyczy. Jeśli nie ma zastosowania, aby określić atrybut, element <assemblyBinding> dotyczy wszystkich wersji systemu .NET Framework.

+0

+1, jest to właściwa odpowiedź, jeśli program został już zbudowany. –

Powiązane problemy