0

Visual Studio 2010 を使用してコントロール ライブラリを作成しました。これを MyLibrary と呼びます。MyLibrary は、AnotherLibrary と呼ぶ別のコントロール ライブラリを参照します。クリーンな仮想マシン (CVM) もあり、CVM の GAC に AnotherLibrary を追加しました。CVM を使用して、新しい WinForms プロジェクトを作成し、MyLibrary.dll をツールボックスに追加して、コントロールの 1 つをフォームにドロップします。Visual Studio は、MyLibrary.dll AND AnotherLibrary.dll が参照に追加されます。参照から AnotherLibrary.dll を削除でき、すべて問題ありません。

このシナリオで Visual Studio が AnotherLibrary.dll を追加しないようにする方法はありますか?

編集:私はこれにいくつかの考えを与えました。例があります。デザイナーで親コントロールに TabControl を追加すると、TabControl が System.Design に依存していても、Visual Studio は System.Design を参照に追加しません。だから、確かにこれを行う方法はありますか?

4

2 に答える 2

1

引き続き参照が必要です。たとえば、GAC にもある System.dll への参照が必要なのと同じように。bin\Debug ディレクトリにあるアセンブリのコピーは必要ありません。特にこれは間接的に使用されるアセンブリであるため、参照を削除してコンパイラを壊さなかった可能性があります。しかし、最終的に運が尽きる可能性があります。

一般に、開発マシンで GAC を使用することは本当に避けたいと考えています。たとえば、バグ修正を作成するときに、アセンブリの特定のバージョンに関心があるためです。これらの特定のバージョンは、GAC ではなくソース管理から取得します。

于 2012-05-25T17:42:57.010 に答える
0

すべての依存関係を自動的に含めることは意味がありませんか? コードをデプロイするすべてのマシンの GAC に AnotherLibrary があるとは限りません。もちろん、あなたが言ったように、手動で削除することができます....

于 2012-05-25T17:39:38.433 に答える