2013-02-11 13 views
7

Po pierwsze, znalazłem inne posty w StackOverflow here, ale to nie rozwiązało mojego błędu.Zespół trybu mieszanego jest zbudowany z błędem "v2.0.50727"

Mam 3 różne środowiska/domeny z serwerem kompilacji w każdej lokalizacji. Moje środowiska Dev i UAT są w porządku, ale wersja produkcyjna nie działa.

Dostaję błąd

tryb mieszany zespół jest zbudowany na wersji „v2.0.50727” z starcie i nie może być załadowany w środowisku wykonawczym 4.0 bez dodatkowej informacji konfiguracji

Dodałem ten tag do mojego pliku app.config (co było sugerowaną poprawką w linku powyżej)

<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0"/> 
    </startup> 

Co jeszcze może się różnić między moimi serwerami/środowiskami/domenami kompilacji, które powodowałyby ten problem?

W odpowiedzi na pytanie Allena, wierzę, że to jest to, co pytasz:

<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 
    <Platform Condition=" '$(Platform)' == '' ">x86</Platform> 
    <ProductVersion>8.0.30703</ProductVersion> 
    <SchemaVersion>2.0</SchemaVersion> 
    <ProjectGuid>{D3D87C05-2811-489B-9F0D-7676B6485AA0}</ProjectGuid> 
    <OutputType>Exe</OutputType> 
    <AppDesignerFolder>Properties</AppDesignerFolder> 
    <RootNamespace>MVST.Batch.CorrespondenceConversion</RootNamespace> 
    <AssemblyName>MVST.Batch.CorrespondenceConversion</AssemblyName> 
    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> 
    <FileAlignment>512</FileAlignment> 
    </PropertyGroup> 

mam ponad 100 innych projektów, które są ustawione dokładnie tak samo i te budują ok.

+0

Czy .NET 4.0 zainstalowany w produkcji? – TheKingDave

+0

Tak, wyświetlam w folderze C: \ Windows \ Microsoft.NET \ Framework, a także w folderze Framework64 oba mają wersję v4.0.30319 – ganders

+0

Którą wersję zestawu narzędzi platformy wykonuje Twój zespół mieszany i czy jest on obecny na serwerze prod? – allen

Odpowiedz

13

http://support.microsoft.com/kb/2572158

Dodaj słownictwa useLegacyV2RuntimeActivationPolicy="true" poniżej albo do jednej z następujących lokalizacji: Plik

  1. sgen.exe.config znajdujących się w następującej lokalizacji: .. \ Program Files \ Microsoft Zestawy SDK \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools \
  2. Plik app.config aplikacji:

<startup useLegacyV2RuntimeActivationPolicy="true"> 

      <supportedRuntime version="v4.0" /> 

</startup>  

+0

Dodałem powyższy atrybut do mojego app.config i wszystko przebiegło poprawnie. – pennyrave

+1

Chcę tylko zwrócić uwagę, że potrzebna jest część: useLegacyV2RuntimeActivationPolicy = "true" – Taegost

0

Oto poprawka, która zadziałała ... wciąż nie wiem, dlaczego mój projekt musiał być w wersji 2.0, podczas gdy inne (w linku w moim pytaniu) musiały mieć wartość 4.0.

<startup> 
    <supportedRuntime version="v2.0.50727"/> 
    </startup> 
+0

Teraz, gdy zaimplementowałem powyższy kod w moim kodzie, aby go skompilować, teraz kończy się niepowodzeniem, gdy próbuję uruchomić zadanie. Jeśli skomentuję całą sekcję, zadanie będzie działać poprawnie. Jak więc spotkać się w środku? Potrzebuję tej sekcji, aby projekt został zbudowany, ale muszę go skomentować, aby program działał ... – ganders

2

Jeśli używasz w wersji 64-bitowej, może trzeba dodać ją do Visual Studio config silnika Test:

C: \ Program Pliki (x86) \ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow \ vstest.executionengine.exe.config

Dodaj węzeł startowy tak:

<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
    <requiredRuntime version="v4.0.20506" /> 
</startup> 
Powiązane problemy