webentwicklung-frage-antwort-db.com.de

MSBuild-Zielpaket nicht gefunden

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?

71
Andrew Davey

Ich habe dies gerade ohne Installation von VS2010 funktioniert, indem ich die folgenden Schritte auf dem Build-Server ausgeführt habe:

  1. Wenn .NET Framework 4 nicht installiert ist, installieren Sie es
  2. Installieren Sie das Web Deployment-Tool von http://www.iis.net/download/webdeploy
  3. Kopieren Sie vom Ordner C:\Programme\MSBuild\Microsoft\VisualStudio\v10.0 auf Ihrem Entwicklungscomputer die Ordner "Web" und "Web Applications" in das entsprechende Verzeichnis auf Ihrem Buildserver.

Das scheint bei mir zu funktionieren

108
spmason

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 :)

9
joozek

Sie können das Paket MSBuild.Microsoft.VisualStudio.Web.targets installieren. Sie müssen Ziele nicht manuell kopieren, um den Server zu erstellen.

5
Der_Meister

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.

3
contrashadow

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.

1
Paul Lemke