VS2010 Webアプリケーションプロジェクトをパッケージ化して、msdeployで展開できるようにします。開発マシンでは、次を使用してこれを行うことができます。
MSBuild.exe "C:\path\to\WebApp.csproj" /target:package
しかし、私のビルドサーバーでこのエラーが発生します。
エラーMSB4057:ターゲット「パッケージ」はプロジェクトに存在しません。
ビルドサーバーに何が欠けていますか?
ビルドサーバーで次の手順を実行することで、VS2010をインストールせずにこれが機能するようになりました。
これは私のために働くようです
私はそれが古い質問であることを知っていますが、最近同じ問題にぶつかりましたが、どの回答も役に立たなかった。ビルドサーバーに次のファイルがありませんでした。
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
これが私のような人を助けることを願っています:)
MSBuild.Microsoft.VisualStudio.Web.targets パッケージをインストールできます。サーバーをビルドするためにターゲットを手動でコピーする必要はありません。
同じ問題が発生しました。これを追加することで解決しました:
<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に。
ビルドサーバーに.Net 4.0をインストールする必要があります。 .Net 4.0をインストールすると、Webアプリケーションプロジェクトのパッケージ化をサポートする新しいMSBuild 4.0がインストールされます。
また、msbuild.exeを実行しているときは、.Net 4.0フレームワークフォルダーにあるものを実行していることを確認してください。