2012-08-31 15 views
12

VS2010以前では、Webデプロイメントプロジェクト(WDP)を活用して、本番用のWebサイトをパッケージ化するのを手伝っていました。リリースモードでソリューションをコンパイルしたMSBuildスクリプトがありました。その出力は、WDPによってコンパイルされ、クリーン化された生産準備完了ウェブサイトファイルでした。Visual Studio 2012用のmsbuildからの公開を呼び出す

2012年のWDPが削除され、新しいタブがWebアプリケーションのプロパティに作成されました。オプションは同じですが、これを呼び出すには、(リリースモードでコンパイルする前に)[パブリッシュ]オプションを使用します。

これは問題です。 MSBuildスクリプトから、パブリッシュ操作を呼び出すにはどうすればよいですか?私は古い記事をいくつか見つけました...

msbuild /target:publish 

はトリックします。しかし、それはまた、2012年

で動作するようには思えない、私は...私のMSBuildタスクで

<MSBuild Properties="Configuration=Publish;" 
     StopOnFirstFailure="true" 
     Projects="$(BuildDirectory)\MySolution.sln"></MSBuild> 

を試してみました...しかしmsbuildは単に「未知の設定」を報告しました。

msbuildは、コマンドラインから公開オプションを実行するにはどうすればよいですか?

+0

try:http://stackoverflow.com/q/3097489/1162102 –

答えて

3

私はパブリッシュを実行することができませんでしたが、Visual Studioの出力を見れば、別の解決策が見つかったと思います。 obj \ Release \ AspnetCompileMergeフォルダーには、プロジェクトのデプロイ可能でクリーンなバージョンがあります。これには、最終出力フォルダーと同じ1バイトのファイルが含まれています。

私はコマンドラインから発行するためのいくつかの他のオプションは、今があることが表示されます

<MSBuild Properties="Configuration=Release;DeployOnBuild=True;" 
     StopOnFirstFailure="true" 
     Projects="$(BuildDirectory)\BigWave.ALL.sln"></MSBuild> 
17

... DeployOnBuildオプションを含めるように私のMSBuildのスクリプトを変更する必要がありました。具体的に次の線に沿って何かをthis post by Scott Hanselmanをチェックアウトし、出版のセクションをご覧ください詳細については、2012年

msbuild mywap.csproj /p:DeployOnBuild=true;PublishProfile=MyProfileName 

のVisual StudioにいくつかのRCの更新となりまし可能と思われます。

+0

あなたの設定に応じてVisualStudioVersion = 11.0を追加する必要があります –

+0

フィードバック@SebastianKに感謝します。その旗がいつ必要なのか分かりますか? –

+1

はい、このパラメータの詳細はこちらです。VS2010がビルドボックスにインストールされているため、私の場合はこれが必要でした:http://sedodream.com/PermaLink,guid,a5894bad-f2a1-441a-a5b2-74f16c6cf8aa.aspx –

関連する問題