找不到dll,尽管它在同一文件夹中

时间:2019-06-19 23:05:57

标签: c# dllimport

我的C#应用​​在win10中运行正常。我将其移至另一台也是win10的计算机上。但现在不起作用。弹出错误:

  

xx_win32.dll无法加载。

我确定所有文件都在同一文件夹中。

xx_win32.dll由我的朋友用c ++编写,我在代码中使用DllImport,并且在我的计算机上运行良好。可能是什么问题?

我也将xx_win32.dll放在了system32文件夹中。 我检查了当前目录,它与预期的一样(与所有文件位于同一文件夹中)

public const string DLL_NAME = "xx_Win32.dll"; 

[DllImport(DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode)]
public static extern int xxDll_GetSize();
  

system.io.filenotfoundexception:无法加载文件或程序集

1 个答案:

答案 0 :(得分:0)

我用两种不同的方法解决了这个问题(两种方法都很好): 1-我在主机上安装了vs 2017。该应用程序运行良好,错误消失了。 2-我转到xx_Win32.dll文件项目(c ++),并使用“在静态库中使用MFC”选项对其进行了重建。现在可以在任何PC上使用。

感谢您的宝贵意见。