DLLImport引用的dll的路径能写成相对路径吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DLLImport引用的dll的路径能写成相对路径吗相关的知识,希望对你有一定的参考价值。

[DllImport("####.DLL", EntryPoint="FileW", SetLastError=true,
CharSet=CharSet.Unicode, ExactSpelling=true,
CallingConvention=CallingConvention.StdCall)]
public static extern bool File(String src, String dst);
其中的####.DLL无法注册 替代它的是一个绝对路径, 请问他能写成相对路径吗?
我是想有没有可能把dll文件的引用写成一个相对路径的引用方式,而不是把dll文件放在一个物理路径中,我仙在是写一个类库,没有exe文件的,还有没其他的方法???该dll文件无法注册的!

DllImport会按照顺序自动去寻找的地方:
1、exe所在目录
2、System32目录
3、环境变量目录
所以只需要你把引用的DLL 拷贝到这三个目录下 就可以不用写路径了
参考技术A 我是放在EXE所在目录,可以相对路径

错误 1 未能找到类型或命名空间名称"dllimport"是不是缺少 using 指令或程序集引用

参考技术A 这个问题一般是在应用里缺少你使用的类所在的dll文件,一般解决方法是在项目上右键-》添加引用(引用的dll文件路径如果是外部dll就浏览,找到该dll,如果是系统dll就在。net或者com里面找到你所引用的dll)-》确定-》在代码中使用using +你所使...本回答被提问者和网友采纳

以上是关于DLLImport引用的dll的路径能写成相对路径吗的主要内容,如果未能解决你的问题,请参考以下文章

C#的Dllimport能不能调用指定路径的dll文件?

DllImport使用

在同一解决方案中从 c# 项目到 c++ 项目的 DllImport

在 .NET 中指定 DllImport 的搜索路径

C#中引用dll的问题

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