3

メインの Visual Studio ソリューションを管理する方法を見つけようとしています。このソリューションでは、C++/CLI プロジェクト、C++ ネイティブ プロジェクト、C# プロジェクト、他のチームによって管理され、頻繁に更新される (依存関係と共に) 外部依存関係 (独自の依存関係を持つコンパイル済みの C# アセンブリ) を管理する必要があります。

すべてのタイプのプロジェクトは、相互に依存関係を持つことができます (もちろん、C# または C++ ネイティブを除く)。
一部の C# プロジェクトには、外部 DLL への依存関係があり、適切に動作するために他の DLL が必要になる場合があります。

これまで、ビルド後の手順を使用して、各プロジェクトの出力ディレクトリへの参照をコピーしてきました (外部でコンパイルされた C# ライブラリと必要な C++ DLL の追加の依存関係)。このプロセスを自動化したいと考えています。プロジェクトは数多くあり、外部 DLL は他のチームによって管理されることが多く (依存関係がどんどん追加されることもあります)、それらによって加えられたすべての変更が自動的にメイン プロジェクトに反映されるようにしたいと考えています。
新しいプロジェクトがソリューションに含まれるたびに、ツール、バッチファイルのベストプラクティス、またはこの依存関係の地獄で自分自身を失い、svnの更新と少しの構成作業を行うだけの何かはありますか?

私の問題の 1 つは、C# project1a.dll と C# project 1b.dll を必要とする C# project1.dll がある場合、C# project2 が project1.dll を必要とする場合、project1a.dll と project1b.dll を project2 参照に追加したくないことです。しかし、出力フォルダーでそれを見つけたいと思います (これは、project1a が別のチームによって管理されており、毎日 project1x.dll が機能する必要があるためです)。

この要件をどのように解決しましたか?

4

2 に答える 2

1

これは、同様の機能を要求する Microsoft Connect の提案です (これは実際に私のものです)。残念ながら、参照はソリューションのビルド構成でうまく更新されません。プロジェクトを分割し、場合によっては冗長なプロジェクト/ソリューションを維持する必要があります (バイナリ参照など)。

ソースからすべてのプロジェクトをビルドできる場合、心配する必要はありませんが、これはまれであり、接続の提案でわかるように、システムの依存関係によっては可能ではありません。

これは、ビルドのカスタマイズに関するいくつかの重要なブログ投稿です。

于 2011-03-29T07:47:01.757 に答える
0

NuGet を使用して、独自のパッケージ フィードをホストすることはできますか?

于 2011-01-20T10:03:39.037 に答える