Kann ich die Plattform-toolset von der Befehlszeile aus, wenn Gebäude mit VS2010 ist msbuild?
Wenn ich Baue ein VS2010 mit msbuild von der Befehlszeile aus, kann ich die Plattform-toolset v90 (d.h. Visual Studio 2008 toolchain) von der Kommandozeile aus, ohne Bearbeitung der vcxproj Datei?
Ich bin mit dem folgenden Befehl Linie in meinem build-script derzeit:
mysystemf("msbuild %s.vcxproj /t:rebuild /p:configuration=release,platform=%s", prjname, platform);
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann man ja einstellen PlatformToolset ohne änderung der vcxproj-Datei.
Wenn Sie öffnen eine vcxproj-Datei, werden Sie sehen, dass es eine
PlatformToolset
Eigenschaft.Für visual studio 2012 ist es v110; Für VS2010, es ist v100; Für VS2008 ist es v90.
Könnte man überschreiben Sie diese Eigenschaft mit
/p:PlatformToolset=v110/v100/v90
zum ändern der toolchain.Hinweis: Manchmal, msbuild ist fehlgeschlagen mit dem Fehler
Unsupported platformtoolset value
ist es vor allem, weil Sie nicht angeben, dieVisualStudioVersion
.Den PlatformToolset konfiguriert ist, als Teil einer PropertyGroup für die Konfiguration.
Wenn Sie ändern möchten toolsets von der Befehlszeile aus, sollten Sie eine Konfiguration für jeden toolset (leicht getan mit der IDE) und rufen Sie dann diese Konfiguration für den build.
msbuild %en.vcxproj /t:rebuild /p:configuration=VC90Release,Plattform=%s
Fand ich die Antwort in der MSDN:
Hier http://msdn.microsoft.com/en-us/library/bb397428
Er sagt, dass das hinzufügen /ToolsVersion:3.5 bauen, als wäre es ein VS 2008 Projekt