非常に大きな VS2012 Web サイト プロジェクト (Web アプリケーションではない) を継承し、その展開を自動化しようとしています。プロジェクトには大量の循環参照があるため、aspnet_compiler.exe を使用してプリコンパイルするには、fixednames を有効にする必要があります。これに伴う問題は、クアッド コア、16 GB RAM、SSD 開発者マシンでビルドに約 20 分かかることです。以前の開発者は、ソース全体を運用 Web サーバーにコピーするだけだったので、これに対処する必要はありませんでした。
したがって、循環参照の問題に取り組む前に、少なくとも msdeploy を使用してプロジェクトを自動的に展開したいと考えています。Visual Studio 内でパブリッシュ プロファイルを使用できます。
- 参照された DLL をビルドし、プロジェクトに追加します。
- web.config は変換しますか。
- ウェブサイトを構築しようとさえしませんが、私のために zip ファイルにパッケージ化するだけです。
私の人生で理解できないのは、MSBuild.exeにまったく同じことをさせる方法です!
MSBuild.exe WebProject.vs2012.sln /m /T:Build
/p:Configuration=Release`;DeployOnBuild=true`;PublishProfile=TestDeploy
上記のコマンドはまだ aspnet_compiler を実行しようとしていますが、これは私が望んでいるものではありません。パブリッシュ プロファイルには、プリコンパイルすべきではないと書かれていますが、ログを見ると、それが実行されていることがわかります。
では、msbuild を使用して Web サイト プロジェクトをプリコンパイルせずに展開するにはどうすればよいでしょうか。