C#中导入外部dll文件,如果不放在当前目录下,通过设置工程属性-引用路径选项卡添加文件路径,为何报错啊

2025-04-19 14:50:15
推荐回答(4个)
回答1:

C#的引用路径的作用是:指定或者说增加VS搜索.net程序集的路径,默认搜索路径为项目目录。如果你的是win32的dll,那么用该项设置是没有效果的。

建议:
指明DLL的绝对或者相对路径,如:
const string PATH = "绝对或者相对路径";
[DllImport(PATH,CharSet = CharSet.Auto)]
public extern static bool YourMedhod( string str );

回答2:

建议:
在你的应用下创建一个lib目录,将要引用的外部dll都放入到lib目录中,然后从lib目录中引用dll,这样你就不会有这个问题了(因为dll都被代码统一管理了)。

回答3:

修改项目属性,添加生成后事件,拷贝dll到输出目录下就行了。

回答4:

你是怎么引用的?
在你的工程的“解决方案管理器”里有个“引用”字样的灰色文件夹,点右键》添加引用》“浏览”选项卡》找到你的DLL之后确定,在代码开头处使用 using 引用就行了。