Ich habe eine Visual Studio-Lösung, die wir mit VS 2015 mit dem Visual Studio Online Build erstellt haben. Wir wollen den Build in VS 2017 umwandeln. Er baut lokal für mich ohne Fehler auf. Wenn jedoch Online-Aufbau des „VS2017 Hosted“ mit Build-Agenten mit dem folgenden Fehler schlägt fehl, wenn versucht, meine WIX basierten MSI zu bauen:MSBuildExtensionsPath auf VSTS und WIX
DEV\Setup\UISetup\UISetup.wixproj(56,3): Error MSB4019: The imported project "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\WiX\v3.x\Wix.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
Fehlerbehebung, funktioniert die wixproj für diesen Weg eine Import-Anweisung hat:
$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets
ich habe ein paar zusätzliche Schritte in den Aufbau und fanden die folgende als Vergleich der beiden Build-Agenten:
"Hosted" (Build Werke auf dieser VS 2015 Build-Agent)
wix.targets Is Here: C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\wix.targets
With Diagnostic output on MSBuild, here are the MSBuild property settings
2017-08-19T19:12:13.3864207Z MSBuildExtensionsPath = C:\Program Files (x86)\MSBuild
2017-08-19T19:12:13.3864207Z MSBuildExtensionsPath32 = C:\Program Files (x86)\MSBuild
2017-08-19T19:12:13.3864207Z MSBuildExtensionsPath64 = C:\Program Files\MSBuild
Hosted VS2017 (gleiche Build nicht auf diesem Build-Agenten)
Looking here for wix.targets: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\WiX\v3.x\Wix.targets <-- which errors
But wix.targets is here: C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\wix.targets <-- same as “Hosted” build agent
With Diagnostic output on MSBuild, here are the MSBuild property settings
2017-08-19T19:21:06.5320962Z MSBuildExtensionsPath = C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild <-- Different on this build agent
2017-08-19T19:21:06.5320962Z MSBuildExtensionsPath32 = C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild <-- Different on this build agent
2017-08-19T19:21:06.5320962Z MSBuildExtensionsPath64 = C:\Program Files\MSBuild
ich ein Ticket mit Microsoft Support geöffnet habe, aber bisher haben sie keine Hilfe. Das eigentliche Problem ist, dass MSBuildExtensionsPath32 auf einen anderen Ordner auf dem Build-Agent "VS2017 Hosted" verweist, aber die Datei wix.targets befindet sich im ursprünglichen Ordner. Ich würde es hassen, den Pfad zu wix.targets zu programmieren, aber ich sehe wirklich keine Alternative.
Irgendwelche Ideen?
Danke.
Haben Sie darüber nachgedacht [WiX in Ihr Projekt integrieren] (http://wixtoolset.org/documentation/manual/v3/msbuild/daily_builds.html)? Es gibt auch NuGet-Pakete, die ähnliche Aufgaben ausführen und keine Build-Agents erfordern, um WiX-Erweiterungen installiert zu haben. –
Ich komme vielleicht zu diesem Punkt, aber für den Moment möchte ich nur den bestehenden Build reparieren. Danke für den Vorschlag obwohl ... – Steve0212
nach mehr darüber schauen, das ist die beste Lösung.Schreibe es als Antwort und ich werde es als richtig markieren. Danke – Steve0212