時のバージョン管理情報(TFS)を使用してファイルを生成するために、どのように私は問題がQAで私に提示されたときから構築されたものを、Webアプリケーションを構築知らずの疲れ。私の提案する解決策は、ビルドプロセスの一部としていくつかの静的コンテンツを生成して、そこに有用な情報を持つことです。誰かがサーバー上で手動でそのファイルを参照することができ、おそらくHTTPのコンテンツをjsonというAPIの一部として提供する機能を提供するのが良いと思います。ビルド
単純な権利と思われますか?私は過去にSubversionでこれを行うことをたくさん見てきましたが、私はTFSのオプションに慣れていません。私は、リポジトリ、ブランチ、チェンジセット番号などのTFS情報を収穫する2つのことと、標準ビルドプロセス内のすべてのファイルにコンテンツを書き込む方法を実際に探していることを認識しています。 Nugetのようなものを使って、既存のMSBuildのターゲットやツールがあるかどうかは、ローカルのビルドビルドであるかどうかを問わず、すべてのビルドに適用されます。 devまたはCIサーバー環境を設定していますか?私が望んでいるのは、これは、誰かがすでにこの正確なことをして、再利用のためにパッケージ化しているか、またはその断片が、さまざまな一般的なパターンとして繰り返すことができるように、 .NETプロジェクトの種類
更新:提案された解決策の1つの問題は、生成された静的ファイルが何であれ、ビルドプロセスによってコンテンツとしてピックアップされるように、プロジェクトへの参照として追加する必要があることです残りのWebアプリケーションと共に適切にコピー/パブリッシュされます。おそらく、プロジェクトが少なくとも一度構築された後で壊れた参照をプロジェクトに追加しておくことができます。これは、パッケージリストアがNuGetで使用されていた古い方法を思い起こさせるものです。
関連リソース:
- MSDN - Code Generation in a Build Process
- StackOverFlow - MSBuild to copy dynamically generated files as part of project dependency
- StackOverflow - How to programmatically get information about branches in TFS?
- StackOverflow - It is possible to get TFS change set number from the local file system?
- StackOverflow - tf.exe info /version:T does not get latest
XAMLビルドを使用しているようです。 XAMLでカスタムアクションを追加して、生成された 'ver.txt'ファイルでファイルをチェックアウトし、ソースコントロール情報を更新してから再度チェックインすることができます。 –
私の目標は、このプロセスをビルドプロセスの一部にすることです。履歴にノイズを追加します。おそらく私は問題を間違って考えている?ソース管理ですでに本質的に知っているテキスト形式のチェックイン/コミットには他にも利点がありますか?ビルドが完了するまで(例えば、ビルド、変更、ビルド、コミット、OUT-OF-SYNC-UNTIL-NEXT-BUILD)、2つの同期が外れることは心配です。 – jpierson