【问题标题】:How to share references to dlls across multiple projects in a visual studio solution?如何在 Visual Studio 解决方案中跨多个项目共享对 dll 的引用?
【发布时间】:2016-07-27 05:48:34
【问题描述】:

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

如何创建集中引用或 lib 部分,以便解决方案中的所有项目都可以引用该集中位置,而不必为每个项目一遍又一遍地复制对相同 dll 的相同基本引用?

【问题讨论】:

  • 您通过创建类库来集中代码。您从多个项目中引用该库。现在你想集中引用本身吗?
  • 将您的库添加为项目,然后您可以将此项目引用到您的所有控制台项目。

标签: c# visual-studio


【解决方案1】:

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

如果您要重新引用相同的自定义库,最好将库的源代码作为项目包含在您的 Visual Studio 解决方案中> 并将 Project References 添加到该 Project 中的每个其他需要它的 Project 中。

示例:添加项目引用

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

【讨论】:

    【解决方案2】:

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

    按照你想要的方式创建你的项目(它很可能是一个类库,虽然你也可以创建一个基于 UI 的),然后单击File->Export Template,这会打开以下向导:

    那么下次你去File -> Add -> New Project 你的新模板将像我在这里的示例一样列出:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-12
        • 1970-01-01
        • 1970-01-01
        • 2010-09-24
        相关资源
        最近更新 更多