使用 VS2005 和 VB.NET。
我有一个项目,它是我创建的数据存储的 API。编译时创建 api.dll
。
我在同一个解决方案中有第二个项目,它有一个对 API 项目的项目引用,编译时将创建 wrapper.dll
。这基本上是特定于应用程序的 API 的包装器。
当我在其他应用程序中使用 wrapper.dll
时,我必须将 wrapper.dll
和 api.dll
复制到我的新应用程序中。我怎样才能让包装器项目将 api.dll
编译到自身中,以便我只有一个 dll
可以四处移动?
最佳答案
@Jas,这是 Visual Studio 中的一项特殊功能。 this blog entry, called "Sharing a Strong Name Key File Across Projects" 中概述了该过程.该示例用于共享强名称 key 文件,但适用于任何类型的文件。
简而言之,您右键单击您的项目并选择“添加现有项”。浏览到您要链接的文件的目录并突出显示一个或多个文件。除了点击“添加”或“打开”(取决于您的 Visual Studio 版本),单击该按钮右侧的小向下箭头。如果您使用的是 Visual Studio 2003,您将看到“打开”或“链接文件”的选项,或者使用 2005 的“添加”或“添加为链接”选项(我不确定 2008 年)。无论如何,请选择包含“链接”一词的那个。然后您的项目将实质上引用该文件——它可以从它所在的原始项目和您“链接”到的项目中访问。
这是一种创建包含 wrapper.dll 和 api.dll 的所有功能的程序集的简便方法,但您必须记住每次向 api.dll 添加新文件时都重复此过程(但是不是 wrapper.dll)。
关于.net - 编译引用的dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30833/