Ich arbeite mit einer Webanwendung, die mit VS2015 geschrieben wurde, und wird mit VS2017 verwaltet. Ich versuche, eine andere Anwendung zu schreiben, um den vollständigen Webstapel mithilfe der MSBuild-API und anderer Tools lokal zu erstellen. In VS2015 oder VS2017 wird das ASP.NET-Webanwendungsprojekt erfolgreich erstellt, aber wenn MSBuild programmgesteuert ausgeführt wird, erhalte ich den folgenden Fehler:MSBuild 15 WebApplication.targets fehlt
Das importierte Projekt "C: \ Programme (x86) \ MSBuild \ Microsoft \ VisualStudio \ v15.0 \ WebApplications \ Microsoft.WebApplication.targets "wurde nicht gefunden. Vergewissern Sie sich, dass der Pfad in der Deklaration korrekt ist und dass die Datei auf der Festplatte vorhanden ist.
Ich habe die Pakete folgende bauen in meiner App installiert:
- Microsoft.Build
- Microsoft.Build.Framework
- Microsoft.Build.Tasks.Core
- Microsoft.Build. Utilities.Core
- Kann ich diesen Build in MSBuild 14 programmgesteuert ausführen lassen, ohne alle
csproj
Dateien zu aktualisieren? - Woher bekomme ich
WebApplication.targets
für MSBuild 15?
Die Standardempfehlung, die ich in Foren für diesen Fehler gesehen habe, ist Visual S zu installieren Tudio auf dem Build-Server, aber ich mache das lokal und ich habe Visual Studio installiert. Ich habe auch gelesen, dass MSBuild 15 nicht mit der WebApplication.targets-Datei geliefert wird. Es gibt auch einen toolsVersion
Parameter auf den Konstruktor für Microsoft.Build.Execution.BuildRequestData
, die ich habe versucht, manuell 14.0
Einstellung, aber es scheint immer noch wie meine app MSBuild 15. zu verwenden versucht
Fragen (I MSBuild Sie haben 14 installiert.):
Lösung:
Dank einem großen Teil auf @ Leo-MSFT konnte ich diese Arbeit bekommen. Hier ist, wie:
- Uninstalled die VS2017 ASP.NET und Web Application Development Arbeitsbelastung, dann mit all seinen optionalen Komponenten neu installiert. Dies hat die fehlende Datei .targets heruntergeladen.
In meiner Builder-Anwendung wurde diese Eigenschaft meiner Instanz
BuildRequestData
hinzugefügt, damit MSBuild in den von v15 verwendeten Ordnern aussieht, anstatt die von v14 verwendeten Ordner zu verwenden.["MSBuildExtensionsPath32"] = "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild"
Ich weiß, dass, dass der Pfad, in dem die Ziele sein sollte, aber ich habe sie nicht. Die allgemeinen Anweisungen, die ich gesehen habe, sind Visual Studio zu installieren, aber ich denke, das gilt nicht für die 2017-Version. – JamesFaix
@JamesFaix, da Sie Visual Studio 2017 installiert haben, aber diese Ziele nicht haben, sollten Sie auch die Workloads 'ASP.NET und Web-Entwicklung' vom Installer installieren. –
@JamesFaix, wie wäre es mit diesem Problem nach der Installation der Workloads ASP.NET und Web-Entwicklung von Installer? –