小编mar*_*ark的帖子

你如何从c ++调用托管(c#)函数?

我有一个ac #dll project(my_cs_dll.dll),它定义了一个带有静态成员函数的静态类.

namespace Foo
{
    public static class Bar
    {
        public static double GetNumber() { return 1.0; }
    }
}
Run Code Online (Sandbox Code Playgroud)

我还有一个使用/ clr的c ++ dll项目.

#using <my_cs_dll.dll>

double get_number_from_cs() { return Foo::Bar::GetNumber(); }
Run Code Online (Sandbox Code Playgroud)

'my_cs_dll.dll'在c ++项目的Common Properties references部分添加了一个引用(复制本地/复制依赖项都是True).

我还在'my_cs_dll.dll'c ++项目中添加了路径配置属性C/C++一般'使用引用解析#'部分.

一切都没有错误地构建,但是在运行时我不断从系统获得"System.IO.FileNotFound"异常,声称它无法找到my_cs_dll.dll程序集.

两个Dll都存在于我正在运行的同一目录中.

我已经在上面提到的设置上尝试了各种各样的变化,并阅读了我在manged/unmanaged interop上可以找到的所有内容,但我似乎无法弄清楚我的大脑有什么问题...

我正在使用VS2008和.NET 3.5

c# c++ managed-c++

5
推荐指数
1
解决办法
2530
查看次数

标签 统计

c# ×1

c++ ×1

managed-c++ ×1