使用コンパイラの定数での構築イベント
-
23-09-2019 - |
質問
直しとかは出来ないんですか利用コンパイラの定数での構築イベントのビジュアルスタジオVB.NET?(特にポスト構築-イベント)
シナリオ
の場合 TEST_EDITION=TRUE
定義に走りたい、実行時に構築-イベントなので FALSE
そんな走り、地下鉄からも近くて便利。
スタイルが収録されています。を創り出すインストーラー別されます。
P.S.前に誰かがなん使いたいnant,msbuildいのも長いのもどっちも似合い
解決
はい、$(DefineConstants)マクロが利用可能であり、ビルドイベントで試験することができます。例えば、プロジェクト+コンパイル、高度なコンパイルオプション、カスタム定数は=テストは次のようにテストすることができます:
if /i "$(DefineConstants)" NEQ "TEST" goto skiptest
echo Setting up for test environment
:skiptest
テスト= TRUEまたは化合物の定数などのより複雑なカスタム定数が異なって解析する必要があります。確かに私はすぐに恐ろしい<のhref = "http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/cmd.mspx?mfrを使用する方法を把握しようとあきらめました=コマンドFOR真」のrel = "noreferrer">。の
他のヒント
あなたはのMSBuild PostEventsを試みたことがありますか?これは.csprojの抽出物である...しかし、同じことがvbprojファイルに適用されます。
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
<Copy SourceFiles="$(OutputPath)$(AssemblyName).dll" DestinationFolder="$(BinariesFolder)" ContinueOnError="true" />
</Target>
あなたは、 TaskExec をターゲットとそれを使うことを可能にすることができますあなたは、バッチファイルや実行可能ファイルを実行します。
<Target Name="DoSomething">
<Exec Command="D:\DoSomething.exe"/>
</Target>
わからないのVisual Basicの構文について、しかし、次のトリックは、C ++で使用することができます:
:として読み込むglobal_inc.batファイルをSET PARAMETER=TRUE
これは、ビルド後のイベントに呼ばれたバッチスクリプトによって入力することができます。 次のようにC ++コードは、ファイルを使用します:
#define PARAMETER const int parameter
#define SET /**/
#include "global_inc.bat"
;
#undef PARAMETER
はポストビルドステップは、このように見えました
call global_inc.bat
if "%PARAMETER%" == "TRUE" echo True
<時間>
別の可能性は、 .vb
ファイル、ならびにポストビルドステップで使用されるコンフィギュレーションファイルを生成する。