現在、VS ソリューションで TFS を使用して NuGet と統合する方法を調査しています。NuGet を使用する理由は、さまざまな TFS ブランチにまたがる共有ライブラリの問題を回避するためです。通常、共有ライブラリにリンクされたプロジェクト (相対 pat を使用) を持つソリューションがありますが、分岐はプロジェクト レベルであるため、このリンクは壊れます。
アイデアは、共有ライブラリを TFS に格納してから、内部の NuGet サーバーにデプロイすることです。
私が遭遇した問題の 1 つは、TFS 内に保存されている共有ライブラリを管理しながら、NuGet デバッグから引き出してコミットできることです。
例
Solution A
- Core Library
- Project A1
- Project A2
開発者がソリューションを開いて、(アセンブリだけでなく) コア ライブラリ プロジェクトを NuGet にプルさせて、ソース コードにステップインして必要な変更を加えることができるようにしてほしいです。彼が Core Library にバグを発見した場合、私は開発者に次のことができるようにしてほしい:
- 変更を加える
- 再テストとデバッグ
- コードをチェックインします。
ステップ3がどのように機能するかわかりません。プロジェクトが NuGet 経由で取り込まれている場合、それは TFS バインド プロジェクトではありませんか? 開発者はどのように変更を行い、それをチェックインできるでしょうか? 彼は、TFS にバインドされている別のプロジェクトを開くことを余儀なくされ、それを確認してから NuGet に展開し、ソリューション A がコア ライブラリを再度取得することを確認します。
これを実現する方法と、NuGet、TFS、および共有ライブラリを使用する場合の推奨されるワークフローについて、私は少し漠然としています。