ファイルをテンプレート バージョンからコンパイル可能なバージョンにコピーするか、ツールを呼び出してファイルを変換するには、Visual Studio でビルド前イベントを使用する必要があります (デバッグ モードかリリース モードかによって異なります)。前にここで見つけたように、デバッグスイッチを使用しました
if $(ConfigurationName) == Debug goto :debug
$(SolutionDir)\Tools\MyTool\Translate -i $(ProjectDir)\Themes\Generic.Template.xaml -o $(ProjectDir)\Themes\Generic.xaml
goto :end
:debug
copy /y $(ProjectDir)\Themes\Generic.Template.xaml $(ProjectDir)\Themes\Generic.xaml
:end
ローカルの Visual Studio を使用している限り、すべて正常に動作します。ただし、TeamCity でビルドする場合、Studio マクロ変数が正しく設定されません。Visual Studio 自体はビルド サーバーにインストールされません。ビルド スクリプトとして、ソリューション ファイルで msbuild を呼び出す f#make を使用します。ビルド バッチをローカルで呼び出すことも完全に実行されるため、TeamCity はこれらの変数を何らかの形で隠しているようです。
それに関する既知の問題はありますか?