web-dev-qa-db-ja.com

MSBuildターゲットパッケージが見つかりません

VS2010 Webアプリケーションプロジェクトをパッケージ化して、msdeployで展開できるようにします。開発マシンでは、次を使用してこれを行うことができます。

MSBuild.exe "C:\path\to\WebApp.csproj" /target:package

しかし、私のビルドサーバーでこのエラーが発生します。

エラーMSB4057:ターゲット「パッケージ」はプロジェクトに存在しません。

ビルドサーバーに何が欠けていますか?

71
Andrew Davey

ビルドサーバーで次の手順を実行することで、VS2010をインストールせずにこれが機能するようになりました。

  1. .NET Framework 4がインストールされていない場合は、インストールします
  2. http://www.iis.net/download/webdeploy からWeb Deploymentツールをインストールします
  3. 開発マシンのC:\ Program Files\MSBuild\Microsoft\VisualStudio\v10.0フォルダーから、「Web」フォルダーと「Web Applications」フォルダーをビルドサーバー上の同等のディレクトリにコピーします。

これは私のために働くようです

108
spmason

私はそれが古い質問であることを知っていますが、最近同じ問題にぶつかりましたが、どの回答も役に立たなかった。ビルドサーバーに次のファイルがありませんでした。

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio
    \v11.0\Web\Microsoft.Web.Publishing.targets

以下によってインポートされます。

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio
    \v11.0\WebApplications\Microsoft.WebApplication.targets

これが私のような人を助けることを願っています:)

9
joozek

MSBuild.Microsoft.VisualStudio.Web.targets パッケージをインストールできます。サーバーをビルドするためにターゲットを手動でコピーする必要はありません。

5
Der_Meister

同じ問題が発生しました。これを追加することで解決しました:

<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" />

私の.csproj fiieに。

3
contrashadow

ビルドサーバーに.Net 4.0をインストールする必要があります。 .Net 4.0をインストールすると、Webアプリケーションプロジェクトのパッケージ化をサポートする新しいMSBuild 4.0がインストールされます。

また、msbuild.exeを実行しているときは、.Net 4.0フレームワークフォルダーにあるものを実行していることを確認してください。

1
Paul Lemke