日期:2014-05-17  浏览次数:21349 次

C++编译的dll文件在C#项目中调用提示“找不到指定文件”?
RT,在我自己的电脑上用的好好的,可一旦把程序拷到别人的电脑上就出现这种问题,不仅dll调用不了,命令行程序也调用不了。跟操作系统有关吗?我自己电脑是win7,出问题的电脑大多是xp
------最佳解决方案--------------------
xp下请把文件名前面加个Application.StartupPath
------其他解决方案--------------------
DLL文件放置位置:

(1)项目文件夹下的../bin/Debug/

(2)系统文件夹下的C:/WINDOWS/system32

如果能确定位置是正确的,那么就得看看是不是你调用的DLL文件是不是使用到其他DLL文件里的内容,这点很关键,在找不到其他问题的情况下这种情况的可能性高过百分之九十

------其他解决方案--------------------
C++编译的DLL也是需要运行时的。

类似:
Microsoft Visual C++ 2008 Redistributable Package (x86)
http://www.microsoft.com/en-us/download/details.aspx?id=29

其它版本自己google,这个运行时是release版本的,因此C++编译的DLL也要是release版本的。
------其他解决方案--------------------
.net Framework没装或者版本太低,你目标输出的版本高于他已经安装的
------其他解决方案--------------------
net Framework没装或者版本太低
------其他解决方案--------------------
在项目文件Reference目录右击 选择"Add Reference" 浏览定位到你的DLL文件即可
------其他解决方案--------------------
你确认将dll一起拷过去了吗
------其他解决方案--------------------
回ls:
已经拷到程序目录下了
------其他解决方案--------------------
我是把dll文件放到项目文件夹下的../bin/realease/中,然后再编译C#项目,还有不仅dll无法调用,连命令行程序也无法调用
------其他解决方案--------------------
回ls:
添加不了,提示“未能添加“。。。。”引用,请确保此文件可访问不是一个有效程序集
------其他解决方案--------------------
回9L:
没错,是这样,我开始在win7下运行正常,在xp下运行失败就是因为这个