使用VS2005和VB.NET。
我有一个项目,它是我创建的数据存储的API。编译时将创建api.dll
。
在相同的解决方案中,我还有第二个项目,它有一个对API项目的项目引用,编译后将创建wrapper.dll
。这基本上是特定于应用程序的API的包装器。当我在另一个应用程序中使用wrapper.dll
时,我必须将wrapper.dll
和api.dll
复制到我的新应用程序。怎样才能让包装器项目将api.dll
编译成它自己,这样我就只有一个dll
可以移动了?
发布于 2008-08-28 10:56:45
@Jas,这是Visual Studio中的一个特殊功能。该过程在this blog entry, called "Sharing a Strong Name Key File Across Projects"中进行了概述。该示例用于共享强名称密钥文件,但适用于任何类型的文件。
简单地说,您可以右键单击您的项目并选择“添加现有项”。浏览到要链接的文件的目录并突出显示该文件或多个文件。只需点击“添加”或“打开”(取决于您的Visual Studio版本),单击该按钮右侧的小向下箭头。如果你使用的是Visual Studio2003,你会看到“打开”或“链接文件”的选项,如果你使用的是2005,你会看到“添加”或“添加为链接”的选项(我不确定2008)。在任何情况下,请选择包含单词"Link“的那个。然后,您的项目实际上将引用该文件-它将从其所在的原始项目和您将其“链接”到的项目中访问。
这是一种创建包含wrapper.dll和api.dll的所有功能的程序集的便捷方法,但每次向api.dll (而不是wrapper.dll)添加新文件时,您必须记住重复此过程。
发布于 2008-08-27 18:39:34
您可能必须使用诸如ILMerge之类的工具来合并这两个程序集。
发布于 2008-08-27 18:41:13
有一种更简单的方法。只需在指向api.dll中的源文件的wrapper.dll项目中创建快捷方式(在Visual Studio-ese中称为链接文件)。这将把你的源代码直接编译成wrapper.dll。
https://stackoverflow.com/questions/30833
复制相似问题