如何在Visual Studio解决方案中跨多个项目共享对dll的引用?

时间:2016-07-26 04:46:16

标签: c# visual-studio

我在Visual Studio中的单个解决方案中嵌套了多个基本控制台项目。每个项目都创建对相同基本dll的引用。

enter image description here

如何创建集中式引用或lib部分,以便解决方案中的所有项目都可以引用该集中位置,而无需为每个项目反复对相同的dll重复相同的基本引用?

3 个答案:

答案 0 :(得分:0)

从屏幕截图中,您的大多数参考似乎都是 .Net Framework类库。你不必担心这些。

如果要重新引用相同的自定义库,最好将库的源代码作为项目包含在 Visual Studio解决方案并在需要的所有其他项目中将项目参考添加到项目

示例:添加项目参考

enter image description here

如果您无权访问某些自定义库的源代码,那么我通常会在Solution Source文件夹的根文件夹中创建 \ Libraries 文件夹,并从解决方案中的其他项目添加对各个DLL的文件引用。这样,如果您的一个或多个DLL更新/升级,您只需替换 \ Libraries 文件夹中的副本,所有引用项目都将指向最新版本。

答案 1 :(得分:0)

您无法避免必须从每个项目中引用这些库。但是,如果您希望为大量项目执行相同的引用 - 或者如果您只想添加一些您希望添加到您添加的每个新项目的引用,那么Visual Studio就具有该功能 - 它被称为{ {3}}。

以您希望的方式创建项目(它很可能是一个类库,尽管您也可以使用基于UI的类),然后点击File - > Export Template,调出以下向导:

template project

然后下次你去File - > Add - > New Project您的新模板将会像我在此处的示例一样列出:

enter image description here

如果您已经有许多已建立的项目要添加相同的引用(并且它不能作为nuget包使用,因此您无法使用nuget包管理器),那么还有一种更硬派的方式。 Visual Studio项目文件是XML,因此您可以在解决方案资源管理器中右键单击项目,选择Unload Project,然后再次右键单击项目并选择Edit以将项目文件打开为XML。然后,您可以复制粘贴包含要传播的引用的Reference节点。在必要时要小心调整任何相对路径。

enter image description here

如果您需要批量执行此操作,请在Notepad ++中打开项目文件并执行复制粘贴操作。

答案 2 :(得分:-1)

你无法摆脱它。您需要在项目中引用,您必须引用它们。如果您有第三方dll,那么您可以将它们放在一个文件夹中,并从那里引用它们在所需的项目中。