c# – 如何将本机DLL与托管应用程序捆绑在一起?
发布时间:2020-12-15 22:00:43 所属栏目:百科 来源:网络整理
导读:在.NET项目中,我有几个从本机DLL导入的函数. 目前,要将本机DLL添加到项目中,它们将被复制到C#项目的根目录,并且它们的属性Build action设置为Copy to output directory. 是否有更好的工作流来捆绑本机DLL? 解决方法 一个选项,如果您需要单个exe部署,它特别
在.NET项目中,我有几个从本机DLL导入的函数.
目前,要将本机DLL添加到项目中,它们将被复制到C#项目的根目录,并且它们的属性Build action设置为Copy to output directory. 是否有更好的工作流来捆绑本机DLL? 解决方法
一个选项,如果您需要单个exe部署,它特别有用,就是将DLL作为资源嵌入到清单中.这与通常用于创建“通用二进制文件”的方法类似,可以在单个文件的X86或X64平台上运行.在这种情况下,您将64位版本嵌入到32位版本中,并在需要时在运行时将其解压缩.您可以看到与
Sysinternals二进制文件一起使用.
在您的情况下,您将在托管可执行文件中嵌入本机二进制文件,然后在运行时将其作为IO流加载或提取它并从提取的路径引用它.在任何一种情况下,您都不必担心“丢失”资源,因为它是您项目的一部分. 如果您决定走这条路,那么已经多次提供了如何做到这一点的答案.这是一个这样的问题: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |