-1

VB.NET 中有什么方法可以从资源中 DllImport 一个 dll 文件?

我真的不想在可执行路径中添加 dll。

4

1 回答 1

1

您可以将 DLL 嵌入到可执行文件中:

Jeffrey Richter:通过 C# 摘录 #2 来自 CLR,第三版

许多应用程序由一个依赖于许多 DLL 文件的 EXE 文件组成。部署此应用程序时,必须部署所有文件。但是,有一种技术可用于仅部署单个 EXE 文件。首先,确定您的 EXE 文件所依赖的所有 DLL 文件,这些文件不作为 Microsoft .NET Framework 本身的一部分提供。然后将这些 DLL 添加到您的 Visual Studio 项目中。对于您添加的每个 DLL 文件,显示其属性并将其“构建操作”更改为“嵌入式资源”。这会导致 C# 编译器将 DLL 文件嵌入到您的 EXE 文件中,您可以部署这个 EXE 文件。

在运行时,CLR 将无法找到相关的 DLL 程序集,这是一个问题。要解决此问题,当您的应用程序初始化时,使用 AppDomain 的 ResolveAssembly 事件注册一个回调方法。

于 2013-07-27T00:20:41.920 回答