私が達成しようとしているのは、プロジェクトの変更がビルド中に検出されているため、プロジェクトが変更されたことを示すフラグを設定できます。私はすでにインクリメンタルビルドとCoreCompileDependsOnを利用してC#コンポーネントがいつ変更されたかを検出する方法を考え出しました。しかし、これは、プロジェクトのコンテンツファイルが変更されたときには起動しないようです。私が理解しているところでは、プロジェクト内のコンテンツファイルの設定に応じて、SkipUnchangedFiles = "true"を指定するコピータスクがあります。出力ディレクトリにコピーします(コピーしない、常にコピーする、新しい場合コピーする)。私は、このプロセスがどこに起こるのかは完全にはわかりません。おそらくMicrosoft.CSharp.targetsファイルですか?誰かが、更新されたファイルがbin出力にコピーされた場合にのみ実行する依存タスクをどのように追加するかについてアドバイスしてもらえますか?非常に単純な例で十分です。MSBuildターゲット - .csprojコンテンツファイルの変更を検出する方法
0
A
答えて
2
私はそれを理解しました。
<Target Name="ContentFilesUpdated" AfterTargets="_CopyOutOfDateSourceItemsToOutputDirectory" Condition="'$(IsDesktopBuild)' == 'False'">
<WriteLinesToFile
File="@(ProductChangeFile)"
Lines="$(ProjectName)"
Overwrite="false"
Encoding="Unicode" Condition="!Exists('@(ProductChangeFile)')"/>
関連する問題
- 1. MSBuild not building csproj
- 2. オーバーライドされたMSBuildターゲットを呼び出す方法
- 3. ターゲットの出力ディレクトリを変更する方法
- 4. MSBuild - ターゲット依存インポート
- 5. Angular2デフォルトの変更検出方法を変更する
- 6. MSBuild、.csprojからすべてのプロジェクト参照を取得する方法
- 7. MSBuild _WPPCopyWebApplicationターゲットのクリーニングを停止する方法App_Dataフォルダ
- 8. MsBuild TransformXmlタスク| TFSビルドエージェントのみをターゲットにする方法
- 9. 更新時にパッケージコードの変更を検出する方法(スモールアップデート)
- 10. 新しいcsproj/msbuildベースのプロジェクトで更新されたdotnetリストア?
- 11. 変数の変更を検出する方法は?
- 12. XNAのコンテンツファイルをポイントする方法
- 13. プログラムでcsprojファイルを変更する
- 14. 行の色を変更してオブジェクトを検出する方法
- 15. Eclipseクラスパスコンテナの内容の変更を検出する方法は?
- 16. サードパーティライブラリのangular2変更の検出を無効にする方法
- 17. NHibernateのコレクションの変更を検出する方法
- 18. MSBuildからログに変数値を出力する方法
- 19. ロケーションの変更を検出する方法
- 20. jQueryでhtml要素の変更を検出する方法
- 21. 角度2.0、子コンポーネントのルート変更を検出する方法
- 22. モデルから属性の変更を検出する方法は?
- 23. Sonosのボリューム変更を検出する方法
- 24. dictの変更を検出する方法は?
- 25. dojoでテキストエリアからの変更を検出する方法
- 26. オブジェクトの変更を検出する方法は?
- 27. ブートストラップマルチセレクションの変更を検出する方法
- 28. Eclipseでビューのサイズ変更を検出する方法
- 29. iFrame内のフォント変更を検出する方法
- 30. Xcode projectターゲットをプログラムで検出する方法またはenv変数を使用する方法
これはあなたが望むものではないかもしれません、これはセット「新しい場合はコピー」を持っているすべてのコンテンツファイルは、ビルド時に変更された場合のみ、プロジェクトの名前でテキストファイルを作成しますgit repoを作ってgitコマンドでスクリプトを実行して、荒れ狂った変更があるかどうかを調べることはできませんか? –
残念ながら、これはTFSのみを使用する会社にあります。また、TFSでも同じことをすることができますが、VCSを使用して変更を識別したくない場合は、変更をプロジェクトにマップして製品名を識別できるようにする必要があります。 MSBuildターゲットを使用すると、プロジェクト内の何かが変更された場合、私はすでにプロジェクトに関する詳細を持っています。 –
私はMSのビルドについての知識はあまり良くありませんが、私の他の邪魔な気持ちはハリやガルプを見ているように感じます。 –