关于c#调用c++写的一个DLL的问题
我用VS2010 建立了一个项目 其中用
[DllImport("regedit.dll", EntryPoint = "SURE_RegeditSign")]
public static extern bool SURE_RegeditSign( string appId, string regPath);
调用了一个C++编写的dll,
在安装了vc++6.0的情况下能够正常调用运行 ,没有问题
但是当把VC++6.0卸载以后就出错了
未处理 System.DllNotFoundException
Message=无法加载 DLL“regedit.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
这个情况怎么解决 是不是我调用的不对 ?我想直接添加引用 添加不了,
我是新手 很多都不懂 请大神帮忙
------解决方案--------------------您可以考虑安装vc6.0的运行库,一般情况下,vc写的dll,如果电脑上没有安装vc程序的话,都需要安装vc运行库,这个运行库会有一些dll依赖的库,所以这可能是造成错误的原因。现把vc6.0运行库放上,您可以试试看。没找到怎么放附件,名字为msxml6.msi,如果找不到,发邮件,我传给您。
------解决方案--------------------如果你有vc6.0那个库 的源代码,重新编译选择静态链接vc运行库,就不需要安装了vc++6.0
------解决方案--------------------是的,用VS的话Build选项里会有。实际上就是把一些必备的库一起打包,最后的dll size会大一些