Web の他の場所では、コマンドラインから VS 2005-2008 IDE のパブリッシュ機能をシミュレートするために、次のようなものを使用することに関する推奨事項を見つけることができます (構文を間違えていないことを願っています!)。
msbuild /t:ResolveReferences;_CopyWebApplication /p:BuildingProject=true;OutDir=C:\inetpub\wwwroot\ blah.csproj
これで、.dll のコピーは問題ないように見えます。ただし、アプリが動作するために必要な特定の構成ファイルとテンプレート ファイルが bin フォルダーにコピーされます。たとえば、NHibernate 構成ファイルは blah.csproj に次のように表示されます。
<None Include="blah.cfg.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
IDE 内から Publish を使用すると、このファイルがコピーされますが、前述の _CopyWebApplication ターゲットではコピーされません。このファイルをビルド スクリプトにコピーする必要があります。これは _CopyWebApplication の望ましい動作ですか? これを修正する方法に関する推奨事項はありますか?
編集 2010 年 4 月 21 日:
(現時点では) VS 2005 および VS 2008 プロジェクトに限定されていること、およびビルド スクリプトが MSBuild 3.x 用に作成されていることを明確にさせてください。VS 2010 に移行する準備はまだ整っていません。
また、カスタム ビルド オプションと共に Publish のようなコマンドを自動化し、将来的に展開を自動化できるように、コマンド ライン内から利用できるソリューションを探していることも明記させてください。