.net - 编译引用的dll

标签 .net vb.net visual-studio-2005

使用 VS2005 和 VB.NET。

我有一个项目,它是我创建的数据存储的 API。编译时创建 api.dll

我在同一个解决方案中有第二个项目,它有一个对 API 项目的项目引用,编译时将创建 wrapper.dll。这基本上是特定于应用程序的 API 的包装器。 当我在其他应用程序中使用 wrapper.dll 时,我必须将 wrapper.dllapi.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/

相关文章:

c# - 最小化 LINQ 字符串 token 计数器

vb.net - Visual Basic 中未知长度的数组

vb.net - 为什么此代码在 VS2005 中可以编译,但在 VS2008 中不能编译(VB.NET)

visual-studio-2010 - 有什么办法可以得到 'highlight' 代码吗?

c++ - 我如何与父 namespace 中的模板类成为 friend ?

c# - 用于 SWIG python 接口(interface)的 IronPython

.net - 如何从/向 SQL Server BLOB 字段传输数据?

C# Rhino 在第二次调用中使用硬编码参数模拟 stubmethod

.net - Microsoft.VisualBasic 命名空间是 "true .NET"代码吗?

c++ - Delphi COM 将 ByteArray 作为 OleVariant 传递