13

VS2010 以前は、Web 配置プロジェクト (WDP) を利用して、Web サイトを運用配置用にパッケージ化していました。ソリューションをリリース モードでコンパイルする MSBuild スクリプトがありました。その出力は、WDP によってコンパイルおよびクリーニングされた、本番環境に対応した Web サイト ファイルでした。

2012 年には WDP が削除され、Web アプリケーションのプロパティに新しいタブが作成されました。オプションは同じですが、これの呼び出しは Publish オプションを介して行われるようになりました (リリース モードでコンパイルする前に)。

質問はこれです。MSBuild スクリプトから発行操作を呼び出すにはどうすればよいですか? 古い記事を見つけたのですが...

msbuild /target:publish

トリックを行うでしょう。しかし、それは2012年にはうまくいかないようです。

また、msbuildタスクで試しました...

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

...しかし、msbuild「不明な構成」と報告されました。

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

4

2 に答える 2

17

コマンドラインからパブリッシュするためのオプションが他にもいくつかあるようです。具体的には、Visual Studio 2012 に対するいくつかの RC アップデートにより、次のようなことが可能になったようです。

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

詳細については、Scott Hanselman によるこの投稿と、公開に関するセクションをご覧ください。

于 2013-02-27T16:02:29.293 に答える
3

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

msbuild スクリプトを変更して DeployOnBuild オプションを含める必要がありました...

<MSBuild Properties="Configuration=Release;DeployOnBuild=True;" 
         StopOnFirstFailure="true" 
         Projects="$(BuildDirectory)\BigWave.ALL.sln"></MSBuild>
于 2012-08-31T21:51:05.260 に答える