Visual Studioの:ファイル名を指定して実行C ++プロジェクトをビルド後のイベントプロジェクトが最新である場合でも、
-
20-09-2019 - |
質問
のVisual Studio(2008)には、プロジェクトが最新である場合でも、実行するためのC ++プロジェクトのためのビルド後のイベントを強制することも可能でしょうか?
具体的には、私はCOMインプロセスサーバーDLLをビルドするプロジェクトを持っています。このプロジェクトは、「regsvr32.exeを$(TargetPathが)」を実行し、ビルド後のステップがあります。これは、「再構築」に微細な動作しますが、変更はプロジェクトのソースに対して行われた場合にのみ、「ビルド」上で実行されます。
私は何も変更せずに「構築」ない場合、Visual Studioは、単にプロジェクトが最新で、何もしないことを報告する - ビルド後のイベントは実行されません。私はこのような状況で実行するには、イベントを強制することができます方法はありますか? DLL自体が最新であるが、登録情報がないかもしれないので、これは必要である。
解決
あなたは実行するバッチファイルを設定するのカスタムビルドステップのプロパティページを使用することができます。これが実行された場合に指定されたファイルの出力はの設定が見つかった、または期限切れのですされていません。単にそこにいくつか存在しないファイルを指定し、カスタムビルドステップが常に実行されます。これは、出力ファイルが見つかっていないされているので、あなたのプロジェクトは、最新の場合でも実行されます。
他のヒント
このDisableFastUpToDateCheckを使用します。
の例を参照してください。
<PropertyGroup>
<PostBuildEvent>IF EXIST C:\Projects\Copy_Files_To_Instance.ps1 ( powershell -file C:\Projects\Copy_Files_To_Instance.ps1)</PostBuildEvent>
<DisableFastUpToDateCheck>true</DisableFastUpToDateCheck>
登録情報は、主に.rgs
ファイルに何があるかによって決定されます。そのファイルが変更された場合プロジェクトが構築されます。私は、COM登録は、プロジェクトが汚れにすることなく変更することができますどのように他を確認していません。あなたの特定の状況の詳細を提供する気にしますか?
のVisual Studio 2017(おそらく他のバージョンと同様)、C#プロジェクトのために(OPの実際の質問ごとにC ++のプロジェクトのためにチェックしていない)が、「ビルド後のイベントを実行します。」のためのオプションがあると、そして1つのオプションです「常に」、何も変わっていない場合でも、ビルド後に実行するのではなく、単にプロジェクトが最新であることを報告れるます: