既存のmsbuildファイル(Webアプリケーションの.csprojファイル)を拡張して、msbuildファイルにいくつかの追加のターゲット/タスクを指定しようとしています。この「拡張msビルドファイル」に構成固有のタスクを配置し、ビルドサーバー(TeamCity)でこのファイルを使用するという考え方です。私が最初にそれを解決しようとした方法は、フォルダ「msbuildscripts」をWebプロジェクトに追加し、そこに拡張msビルドファイルを配置することでした。
<?xml version="1.0" encoding="utf-8" ?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<Import Project="../My.Web.csproj" />
...more stuff...
</Project>
次に、次のようなものを使用してこのファイルを作成します。
c:\myweb\msbuild.exe msbuildscripts/extended.msbuild.file.xml
元のmsビルドファイルをインポートすると、そのcsprojファイルは「間違った」フォルダー(msbuildscripts)で「実行」され、csproj-build-fileは参照されているフォルダー/アイテムを検出しないため、これは機能しません。
特定の作業ディレクトリを使用するようにmsbuild.exeに指示する方法はありますか?実行タスクを使用してこの問題を解決することは可能ですが、それは良い解決策とは思えません。