2017-08-29 5 views
0

Ich habe eine alte Legacy-Anwendung, die in .Net fw gebaut wurde. 3.5. Wie auch immer, ich habe es geschafft, es zu aktualisieren, bis .Net fw. 4.0 und kann nicht weiter in die höhere Version migrieren, da es alte Komponenten und DLLs von Drittanbietern gibt.Erzwinge die Verwendung von msbuild 4.0, um das Projekt in .Net 4.0 zu kompilieren, selbst wenn .Net fw. 4.5 ist installiert

Jetzt für eine neue Integration arbeite ich eine DLL verwenden, die in .Net fw 4.5 gebaut ist und es ist eine sehr kleine DLL, die nur einige interne Anruf ich glaube.

Wenn ich kompilieren in VS 2010, die Tools-Version als 4.0 und Zielframework als 4.0 angibt, gibt es mir immer noch Fehler, die Assemblyreferenz fehlt? und gibt auch Details, dass die DLL von .Net fw 4.5 ist und das Projekt auf 4.0 ausgerichtet ist.

Allerdings, wenn ich .Net fw 4.5 und vs 2015 deinstalliert, 2013 und wieder installiert 2010 und kompiliert es funktionierte. und überprüft durch Bereitstellung auch.

Jetzt, da mein Build-Server .Net 4.5.2 installiert hat, möchte ich nicht alle diese Deinstallation durchführen.

Gibt es eine Möglichkeit, das Projekt in Msbuild 4.0 zu erstellen und nur mit .Net fw 4.0 zu kompilieren, selbst wenn .Net 4.5 in der Maschine installiert ist?

Vielen Dank für die Anregungen und ich

+0

Projekt -> Eigenschaften -> Anwendung -> Zielframework? – HimBromBeere

+0

Das ist schon gesetzt. Es hilft nicht. – vidz

Antwort

0

Leider ist die Antwort aushelfen Nr

Dot Net 4.5 ein an seinem Platz zu Dot Net 4.0 Upgrade war.

Sehen Sie diese Scott Hanselman Blog Post

Sie versuchen MSBuild von der Befehlszeile könnte. Manchmal ist Visual Studio übermäßig aggressiv, wie "hilfreich" es bei der Auflösung der Assembly-Referenz ist.

Die Version von MSBuild, die mit Dot Net ausgeliefert 4.0 ist auf diesem Weg:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe 

Die Exe-Datei nach dem 4.5-Upgrade ist nicht die gleiche, aber es ist ein Versuch wert.

+0

Ich habe es bereits in einer Batchdatei, wo wir das gesamte Projekt in einer Bestellung kompilieren. Wir setzen den Pfad zunächst set PATH =% PATH%;% WINDIR% \ Microsoft.NET \ Framework \ v4.0.30319 Noch habe ich das Problem konfrontiert. Ich denke, wenn Framework 4.5.X installiert ist, gibt es keinen anderen Weg, als es zu deinstallieren – vidz

Verwandte Themen