10

質問のタイトルはほとんどすべてを語っていると思いますが、明確にするために、次のことを試みています。

  1. コマンド ライン (MSBuild) から VS2010 ASP.NET MVC4 ソリューションをビルドし、ソリューション構成 (Release など) を指定します。
  2. プロセス中にその構成の Web.config 変換を適用します。
  3. 結果をローカル マシンのフォルダーに出力します (IIS、エージェント、zip ファイル、FTP、パッケージなどは含まれず、その Web サイトを実行するために必要なすべてのファイルを含むフォルダーのみ)。

私は、Microsoftのドキュメント(これは非常に役に立たない)、SOに関する他の回答、および一般的なグーグルを通じて、ほぼ1週間これを理解しようとしています。私がそれを取得していないだけなのか (これは完全に可能です)、それとも MSBuild/MSDeploy が本当に現在のように見える不可解な混乱なのかはわかりません。

これを達成するための合理的に簡単な方法はありますか?助けてください!

4

1 に答える 1

41

VS2010 を実行している場合: Azure 1.7+ SDK がインストールされていることを確認してください (Azure に発行していない場合でも、VS2012 発行機能が VS2010 に追加されます)。

VS2012+にはこれらの機能が組み込まれています

msbuild ProjectFile.csproj /p:Configuration=Release ^
                           /p:Platform=AnyCPU ^
                           /t:WebPublish ^
                           /p:WebPublishMethod=FileSystem ^
                           /p:DeleteExistingFiles=True ^
                           /p:publishUrl=c:\output

または、ソリューション ファイルをビルドする場合:

msbuild Solution.sln /p:Configuration=Release ^ 
                     /p:DeployOnBuild=True ^
                     /p:DeployDefaultTarget=WebPublish ^
                     /p:WebPublishMethod=FileSystem ^
                     /p:DeleteExistingFiles=True ^
                     /p:publishUrl=c:\output

いずれにせよ、設定することもでき/p:PrecompileBeforePublish=true、出力はサイトのプリコンパイル済みバージョンになります。

Azure SDK をインストールしたら、通常は発行プロファイルを作成して使用するだけ/p:PublishProfile=DeployToFolderですが、新しい発行機能をすべて使用することに興味がない場合に備えて、手動のコマンド ラインを用意しました。

于 2013-03-09T23:28:13.073 に答える