1
我的.NET项目中有C++ dll。从dll进口的方法如下图所示C + + DLL似乎不能在.NET中正常工作
private const string LibName = "dll_name.dll";
[DllImport(LibName, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
public extern static void Method1(double[] _params, UInt32 len);
[DllImport(LibName, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
public extern static double Method2(Int32 x, Int32 y);
它第一次运行良好。但后来我发现,当我从Visual Studio 2012或更高版本构建dll时,程序无法找到dll并引发异常“未找到文件”。但是当我在VS 2010中从同一个项目构建相同的DLL时,没有任何问题。我不认为工具链版本可以产生如此大的差异。 我怎样才能使它从新版本的VS工作?
DLL位于何处?它在你的系统路径中还是在项目本地? –
@DStanley说了什么,或者只是和可执行文件放在同一个目录下。 –
Dll与可执行文件位于同一目录 – rum