C#引用dll文件路径问题(查找DLL顺序 bin/system/env)

在调用非托管的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

你可能感兴趣的:(c#)