Ich möchte mein VS2010-Webanwendungsprojekt mit msdeploy bereitstellen. Auf der Entwicklungsmaschine kann ich dies tun mit:
MSBuild.exe "C:\path\to\WebApp.csproj" /target:package
Aber auf meinem Build-Server erhalte ich diesen Fehler:
fehler MSB4057: Das Ziel "Paket" ist im Projekt nicht vorhanden.
Was fehlt mir auf dem Build-Server?
Ich habe dies gerade ohne Installation von VS2010 funktioniert, indem ich die folgenden Schritte auf dem Build-Server ausgeführt habe:
Das scheint bei mir zu funktionieren
Ich weiß, dass es eine alte Frage ist, aber ich bin kürzlich auf dasselbe Problem gestoßen, und keine der Antworten hat geholfen. Auf meinem Build-Server fehlte folgende Datei:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio
\v11.0\Web\Microsoft.Web.Publishing.targets
Es wird importiert von:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio
\v11.0\WebApplications\Microsoft.WebApplication.targets
Hoffe das hilft jemandem wie mir :)
Sie können das Paket MSBuild.Microsoft.VisualStudio.Web.targets installieren. Sie müssen Ziele nicht manuell kopieren, um den Server zu erstellen.
Ich habe das gleiche Problem erlebt. Lösung durch Hinzufügen von:
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
zu meiner .csproj fiie.
Auf dem Build-Server muss .NET 4.0 installiert sein. Bei der Installation von .Net 4.0 wird das neue MSBuild 4.0 installiert, das das Packen von Webanwendungsprojekten unterstützt.
Wenn Sie msbuild.exe ausführen, stellen Sie außerdem sicher, dass Sie das Programm ausführen, das sich im Framework-Ordner .Net 4.0 befindet.