Visual Studio2010を使用しています。プロジェクトをビルドするたびにWebサイト展開パッケージをビルドしたいWebサイトプロジェクトがあります。基本的に、Webサイトの右クリックメニューの[ビルド展開パッケージ]オプションと基本的に同じことを実行するビルド後のMSBuildコマンドの例を探しています。
2 に答える
Webサイトプロジェクトには「BuildDeploymentPackage」がないため、Webアプリケーションプロジェクトを使用していると思います。
開発が大幅に遅くなるため、すべてのビルドでパッケージを実行しないことをお勧めします。そうは言っても、ここでできるのはその方法です。
本当にこれを実行したい場合は、ビルド後のイベントを使用するのではなく、プロジェクトファイルを編集してビルドプロセスを拡張するのが最善の策です。これを行うには、Webの.csprojファイルを開き、下部([要素のインポート]の後)に次のように配置します。
<PropertyGroup>
<BuildDependsOn>
$(BuildDependsOn);
Package
</BuildDependsOn>
</PropertyGroup>
これは、ビルドプロセスを拡張してPackageターゲットを呼び出すことです。これは、VisualStudioで「BuildDeploymentPackage」ターゲットを呼び出すときに呼び出されるターゲットと同じです。
私にとって、Sayedの答えはコマンドラインのmsbuild実行では機能しませんでした(Publish
ターゲットが必要でしたが、考え方は同じです):
ターゲット「ビルド」を含むターゲット依存関係グラフに循環依存関係があります
DefaultTargets
コマンドラインで公開したかったので使用できませんでしたが、VSからのみビルドしました。うまくいったことは次のとおりです。
<Project
ToolsVersion="12.0"
DefaultTargets="BuildAndOrPublish"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<BuildAndOrPublishDependsOn Condition=" '$(BuildingInsideVisualStudio)' == 'true' ">
Build
</BuildAndOrPublishDependsOn>
<BuildAndOrPublishDependsOn Condition=" '$(BuildingInsideVisualStudio)' != 'true' ">
Publish
</BuildAndOrPublishDependsOn>
</PropertyGroup>
<Target Name="BuildAndOrPublish" DependsOnTargets="$(BuildAndOrPublishDependsOn)"/>