VB.NET中有没有办法从资源中DllImport一个dll文件?
我真的不想用可执行路径添加dll。
答案 0 :(得分:1)
您可以将DLL嵌入到可执行文件中:
Jeffrey Richter: Excerpt #2 from CLR via C#, Third Edition
许多应用程序都包含一个依赖于许多DLL的EXE文件 文件。部署此应用程序时,所有文件必须是 部署。但是,您可以使用一种技术进行部署 只是一个EXE文件。首先,确定您的所有DLL文件 EXE文件取决于不作为Microsoft .NET的一部分提供的文件 框架本身。然后将这些DLL添加到Visual Studio项目中。 对于您添加的每个DLL文件,显示其属性并更改其属性 “构建操作”到“嵌入式资源”。这会导致C#编译器 将DLL文件嵌入到您的EXE文件中,您可以部署这个文件 EXE文件。
在运行时,CLR将无法找到依赖DLL 组件,这是一个问题。要解决这个问题,请在申请时 初始化,使用AppDomain注册回调方法 ResolveAssembly事件。