visual studio 2010控件库参考

时间:2012-05-25 17:31:03

标签: visual-studio-2010 dll

我使用visual studio 2010编写了一个控件库,我称之为MyLibrary。 MyLibrary引用了另一个我们称之为AnotherLibrary的控件库。我还有一个干净的虚拟机(CVM),我已经将另一个库添加到CVM上的GAC。使用CVM,我创建一个新的WinForms项目,将MyLibrary.dll添加到工具箱,并将其中一个控件拖放到表单上。即使AnotherLibrary.dll在GAC中(并且不需要),Visual Studio也会将MyLibrary.dll和AnotherLibrary.dll添加到引用中。我可以从引用中删除AnotherLibrary.dll,一切都很好。

有没有办法阻止Visual Studio在这种情况下添加AnotherLibrary.dll?

编辑:我已经考虑过这个了,我有一个例子。当您将TabControl添加到设计器中的父控件时,Visual Studio将不会将System.Design添加到引用,即使TabControl依赖于它。那么,肯定有办法做到这一点吗?

2 个答案:

答案 0 :(得分:1)

您仍然需要参考。就像你需要引用System.dll一样,它也在GAC中。您只需要在bin \ Debug目录中不需要程序集的 copy 。您碰巧不会通过删除引用来破坏编译器,尤其是因为这是间接使用的程序集。但有些可能你最终会失去运气。

通常,确实希望避免在开发计算机上使用GAC。因为您在创建错误修复时关心程序集的特定版本。您从源代码管理中获取这些特定版本,而不是GAC。

答案 1 :(得分:0)

它会自动包含所有依赖项是否有意义?它不能假设AnotherLibrary在您可能希望部署代码的每台计算机上都在GAC中。当然,正如您所提到的,您可以手动删除它....