在Visual Studio 2013中向自己的DLL项目添加依赖项/引用

9
我一直在处理几个不同的应用程序,希望它们都共享同一个 DLL 库。共享的 DLL 是我创建的,所以实际上我希望每个应用程序都依赖于该 DLL,以便在应用程序构建时与该应用程序在同一解决方案中构建该 DLL。然后,该 DLL 应在应用程序运行之前将自己复制到应用程序的 bin 文件夹中。
虽然我最终弄明白了如何做到这一点,但花费的时间比预期的多了一个小时。部分原因是类似的问题涉及较旧版本的 Visual Studio,或者是涉及第三方 DLL。因此,我想在这里发布一下步骤。

非常感谢。在我的情况下,缺少的最后一步是添加引用。你刚刚为我节省了数小时绝望的搜索时间。+1 - Kiruse
2个回答

10
  1. 您应该已经有一个现有的DLL项目和解决方案。打开您新应用程序的解决方案,该应用程序依赖于您的DLL。
  2. 在解决方案资源管理器中突出显示顶部行(解决方案名称),然后转到文件菜单并选择添加 > 现有项目...
  3. 浏览到您的DLL项目文件并选择它。这将把DLL项目添加到您的解决方案中。
  4. 虽然您的两个项目现在在同一个解决方案中,但这实际上并没有为您的主项目创建引用。因此现在右键单击您的原始项目(应该是解决方案资源管理器中的第二行)并选择添加 > 引用... enter image description here
  5. 参考管理器将出现。确保您已在左侧选择了解决方案 > 项目。然后您应该在右侧列出您的DLL项目。当您将鼠标悬停在其上时,将出现复选框。选择复选框。单击确定。
  6. 最后,请确保正确设置了您的项目依赖项。再次右键单击解决方案资源管理器中的解决方案(顶部行)。选择项目依赖关系...
  7. 在下拉的项目中,确保选择了您的主项目。然后在下面的依赖于列表中选中您的DLL项目的复选框。 enter image description here

现在当您构建解决方案时,它将首先构建DLL,然后将其复制到应用程序的bin文件夹中,然后构建您的应用程序。该引用还允许您在代码文件中引用DLL,例如使用C#的 "using MyLib;" 或VB的 "Imports MyLib"。


我按照你的步骤操作了,但是当我尝试运行解决方案时,我遇到了一个关于我添加的DLL项目的System.IO.FileLoadException错误。它说定位的程序集清单定义与程序集引用不匹配。我该如何解决这个问题? - PerfectContrast

0
现在当您生成您的解决方案时,它将首先构建DLL,然后将其复制到应用程序的二进制文件夹中,然后构建您的应用程序。
谢谢您解释这个。我完成了所有步骤(Visual Studio 2015),我注意到“生成解决方案”命令会构建所有DLL,但它不会将它们复制到正确的bin文件夹中。要实现这一点,我需要构建活动项目(右键单击活动项目,然后点击“生成”)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接