Mixed mode assembly gebaut wird, die gegen " v2.0.50727' Fehler
Erste von allen, die ich gefunden habe, die anderen Beiträge auf StackOverflow hier, hat es aber nicht beheben, mein Fehler.
Habe ich 3 verschiedene Umgebungen/Domänen mit einem build-server an jedem Standort. Meine Dev und UAT-Umgebungen build ganz gut, aber die Produktion version funktioniert nicht.
Ich bin immer der Fehler
Mixed mode assembly gebaut wird, gegen die version " v2.0.50727 " der
Laufzeit und kann nicht geladen werden in der 4.0-Laufzeit ohne zusätzliche
Konfiguration Informationen
Ich habe diesen tag zu meiner app.config-Datei (das war der vorgeschlagene fix in den link habe ich oben)
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
Was sonst noch anders sein könnte zwischen meinem build-Servern/Umgebungen/Domänen, wäre dieses Problem verursachen?
In Reaktion auf Allens Frage, ich glaube, das ist, was du fragst:
<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>
Ich habe über 100 andere Projekte, setup die gleiche Art und Weise und diese build ok.
- Ist .Net 4.0 installiert auf die Produktion ?
- Ja, ich zeige in C:\Windows\Microsoft.NET\Framework Ordner sowie die Framework64 Ordner haben beide v4.0.30319
- welche version von den Plattform-toolset hat Ihr mixed-mode Montage erfordern und ist, dass die derzeit auf dem prod-server?
- allen, die ich aktualisiert meine Frage mit einer Antwort auf Ihre Frage, Wenn ich es richtig verstanden habe...
- allen wo kann ich prüfen, ob auf dem prod-server, um zu sehen, wenn, die Plattform-toolset besteht?
- Warten Sie, sagen Sie, dass es nicht bauen auf der Produktionsmaschine oder laufen ? Deine config zeigt .Net-version 3.5
- Nicht bauen...
- Nicht sicher, wenn die Menschen erhalten Warnungen, wenn ich Antwort auf meine eigene Antwort, also werde ich hier posten. Nachdem ich realisiert fix unten, um Ziel-CLR-version 2.0, wird das Projekt erstellen. Aber wenn ich versuche, und führen Sie das Projekt, scheitert es. Muss ich komplett kommentieren Sie diesen Abschnitt, um für den job ausgeführt werden. Wie treffe ich hier in der Mitte? Um es zu bauen UND es zu laufen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
http://support.microsoft.com/kb/2572158
Fügen Sie den Wortschwall
useLegacyV2RuntimeActivationPolicy="true"
unten entweder an einem der folgenden Speicherorte:Wenn Sie in 64-bit-Version, die Sie haben können, um es zu den Visual Studio test-engine config:
Fügen Sie den Start-Knoten wie folgt:
Hier ist der fix, der funktioniert...noch nicht sicher, warum mein Projekt benötigt werden 2.0 in der Erwägung, dass andere (in dem link in meiner Frage), die benötigt werden 4.0.
Im Fall von unit-tests, sollten Sie mit Resharper für Ihre unit-tests, dann wissen Sie bereits keine der anderen Antworten, die für Sie gearbeitet haben.
Resharper startet die ResharperTestRunner (entweder 32-oder 64-bit), um die Ausführung von unit-tests. Diese Datei befindet sich (zumindest in meinem system) unter C:\Users[Benutzer]\AppData\Local\JetBrains\Installationen\ResharperPlatform[version]. Die Konfiguration dieser Datei sollte an der gleichen Position und den gleichen Namen, aber mit einem .config-suffix. In meinem system, es war nicht da. So, ich habe es und fügte dies hinzu:
Dann, meine tests mit der Arbeit begonnen. Hoffe, das hilft.