C ++ DLL似乎无法在.NET中正常工作

时间:2014-03-27 12:47:23

标签: c# c++ .net dll

我的.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并抛出异常“File not found”。但是当我在VS 2010中从同一个项目构建相同的dll时,没有问题。我不认为工具链版本可以产生如此大的差异。 如何从较新版本的VS中使其工作?

1 个答案:

答案 0 :(得分:0)

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