Erzwinge MSBuild 14.0 in psake build für C # 6.0-Codebasis

8

Ich habe vor kurzem auf Visual Studio 2015 aktualisiert und verwende die neuen Features von C # 6.0. In VS wird alles korrekt erstellt.

Allerdings verwende ich PSake als Build-Skriptsprache, und der Build schlägt immer an Orten fehl, an denen ich c # 6.0-Features verwende. Wie kann ich psake mitteilen, MSBuild 14.0 zu verwenden, damit die neuen c # 6.0-Features korrekt erstellt werden?

Versucht & amp; fehlgeschlagen:

  • Übergabe der Framework-Version an psake: Unbekannte .NET Framework-Version, 4.6

  • Rufen Sie vor dem Aufruf von psake die Datei vsvars32.bat von VS2015 auf. PSake verwendet immer noch die alte MSBuild-Version.

theDmi 08.10.2015, 11:34
quelle

2 Antworten

13

Ich hatte das gleiche Problem & amp; Es wurde durch Konfigurieren des PSake-Buildskripts für die Verwendung von .Net Framework 4.6 behoben, indem einfach Framework "4.6" am Anfang der Datei hinzugefügt wurde. Sie können diesen Komponententest von PSake code base dotNet4.6_should_pass.ps1 <überprüfen / p>     

Wahid Shalaly 12.10.2015, 01:10
quelle
3

Die von @WahidShalaly beschriebene Lösung scheint die richtige Lösung zu sein. Verwenden Sie sie also. Allerdings hat sie auf meinem Rechner immer noch nicht die richtige MSBuild-Version gefunden. Hier ist also die Problemumgehung, die ich habe stattdessen statt:

Fügen Sie Ihrem PSake-Skript die folgende Aufgabe hinzu:

%Vor%

Damit wird die Umgebung für die VS2015-Kompilierung aus PSake festgelegt.

Fügen Sie nun zu jeder Aufgabe, die MSBuild aufruft, eine Abhängigkeit zu SetEnvironment hinzu und verwenden Sie msBuild.exe anstatt nur msbuild . Beispiel:

%Vor%     
theDmi 12.10.2015 07:02
quelle