カスタム .msbuild ファイルを実行する CruiseControl.NET から Team Build 2010 にビルドを切り替えようとしています。コンパイルされているアプリケーションは、多数のプロジェクトを含む VS2008 ソリューションであり、そのうちの 2 つは Web プロジェクトです。
DefaultTemplate.xaml を使用すると、2 つの Web プロジェクトが にデプロイされているように見えますBinaries\_PublishedWebsites\(ProjectName)
。そのデフォルトの場所は問題ありません。ただし、出力ディレクトリの内容は、aspnet_compiler.exe
で呼び出されたかのように-u
、または MSBuild<AspNetCompiler>
タスクが で使用されたかのように、更新可能であるように見えますUpdateable="true"
。だから、2つの質問:
- チーム ビルドで更新不可能な出力を
_PublishedWebsites
ディレクトリに生成するにはどうすればよいですか? MSBuild タスクで次のことを行っているかのように、IIS VirtualPath を設定するにはどうすればよいですか。
<AspNetCompiler Clean="true" Force="true" VirtualPath="/My-IIS-Virtual-Path" />
以前のトラブルシューティングで、更新不可モードでコンパイルされた Web サービスを IIS 6 に提供させる唯一の方法はaspnet_compiler.exe
、コマンドで仮想パスを指定することであることがわかりました。そのため、#2 について尋ねています。
編集:
これまでの 1 つの回答を見て、問題が何であるかをもっと明確にする必要があることに気付きました。MSBuild で何かを行うことができれば、ビルド テンプレートから MSBuild を呼び出すだけでよいことに気付きました。_PublishedWebsites
ただし、出力をディレクトリにコピーするために何が起こるかをどのように変更するかについて、もう少し疑問に思っています。「Web サイトをコピーして変更するタスクを見つけてください」はうまく機能しますが、実際に出力を にコピーしているものがわからない点が異なります_PublishedWebsites
。私が本当にやりたいことは、これを実現するテンプレートのステップを変更することです。
ビルド ログ_CopyWebApplication
は、Web アプリケーションに必要なファイルをコピーする作業を行うように見える というコンパイル ターゲットを参照します。ただし、ビルド テンプレートやソリューション内のファイルのどこにも表示されないため、このコンパイル ターゲットを変更する方法がわかりません。さらに、何を_CopyWebApplication
実行しても、ソリューション内の他の多くのプロジェクトではなく、Web アプリケーション プロジェクトに対してのみ実行されているように見えます。これは良いことですが、 を使用するかどうかを決定するロジックがどこにあるかわからないことを除けば_CopyWebApplication
.
たぶん、私が見逃しているデフォルトの MSBuild ファイルがいくつかありますか? 使用できるビルドパラメーターはありますか? 前述のビルドステップを変更するにはどうすればよいですか?