你知道,我在任何地方都没有看到一个好的答案.是否可以将预先存在的DLL嵌入到已编译的C#可执行文件中(这样您只能分发一个文件)?如果有可能的话,怎么去做呢?
通常情况下,我很酷,只是将DLL放在外面并让安装程序处理所有内容,但是有几个人在工作,他们问我这个,老实说我不知道.
我有一个使用DLLImport使用非托管C++ DLL的托管C#dll.一切都很好.但是,我想在我的托管DLL中嵌入非托管DLL,如Microsoft解释:
所以我将非托管dll文件添加到我的托管dll项目,将属性设置为'Embedded Resource'并将DLLImport修改为:
[DllImport("Unmanaged Driver.dll, Wrapper Engine, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null",
CallingConvention = CallingConvention.Winapi)]
Run Code Online (Sandbox Code Playgroud)
其中'Wrapper Engine'是我托管DLL的程序集名称'Unmanaged Driver.dll'是非托管DLL
当我跑步时,我得到:
访问被拒绝.(HRESULT异常:0x80070005(E_ACCESSDENIED))
我从MSDN和http://blogs.msdn.com/suzcook/看到了这应该是可能的......
我有一个Windows C#程序,它使用C++ DLL进行数据i/o.我的目标是将应用程序部署为单个EXE.
创建这样的可执行文件有哪些步骤?