我的.NET项目中有c ++ dll。从dll导入的方法如下所示

    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中工作?

最佳答案

正如评论中提到的,问题出在不同版本的VS工具集中。如果您使用新的VS,则还需要新的MSVCredist。

08-18 16:08
查看更多