在调用非托管的DLL文件时,.net是无法引用的,这个时候我们就需要用到DllImport来引用(using System.Runtime.InteropServices)dll文件。
DllImport引用dll的路径查找顺序是首先从当前应用程序bin目录,然后system32文件夹下面寻找,接着是环境变量。
一般我放在bin目录下面,但是这个时候有问题时就是dll可能会重名
解决方法:
在bin目录下面新建文件夹,不同的dll放入不同的文件夹中。
然后DllImport引用时使用虚拟路径:
[DllImport(@"E:\Chinese_Eletric_Power\Word_NEW\word_exp.20170920\word_exp.20170920\word_exp\bin\MydllA", EntryPoint = "add", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]//绝对路径
// [DllImport("MydllA", EntryPoint = "add", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)] //相对路径
---------------------
原文链接:https://blog.csdn.net/mt122/article/details/7276754