2014-01-08 7 views
6

Beim Erstellen einer Build-Automatisierung stieß ich auf ein Problem. Zusammen mit der Aktualisierung von Visual Studio 2013 wurde der Pfad zu MSBuild wie hier beschrieben verschoben. http://timrayburn.net/blog/visual-studio-2013-and-msbuild/Wo führen Powershell und PSake msbuild aus?

Ich habe meinen Systempfad aktualisiert, um auf diesen neuen Speicherort für Msbuild zu zeigen. Mit einer normalen cmd-Eingabeaufforderung wird msbuild problemlos aufgelöst. Aber wenn ich meine Skripte in Powershell laufe, scheint es immer noch das alte zu greifen und das Problem wie im Link beschrieben zu zeigen. Wie kann ich sehen und ändern, wo Powershell und PSake Msbuild abholen, so dass ich auf die erwartete Version zeigen kann?

Antwort

8

PSake unterstützt mehr MSBuild-Versionen auf einer Box. Sie können Version und Plattform zB wählen. 4.0x64 mit framework Direktive. Der Pfad zu den MSBuild-Werkzeugen wurde nicht von $env:path übernommen, sondern berechnet. Es verwendet die Registrierung, um den richtigen Pfad zu finden.

VS 2013 und MSBuild-Tools unterstützt werden, da PSake 4.3

+1

Und der nächste Suche zu speichern, können Sie die Rahmenrichtlinie wie folgt verwenden: Invoke-Psake -Framework 4.5.2 – DustinA

+1

Oder Sie können es auf den ersten schreiben Zeile Ihres Skripts. –

0

In PS Typ [Environment]::GetEnvironmentVariable("Path")

Sehen Sie beide Wege? In welcher Reihenfolge erscheinen sie? Was passiert in cmd vs ps, wenn Sie die Bestellung wechseln?

Verwandte Themen