[英]How to use c# Dll in vc++?
我使用命令行(csc)创建了一个dll。 假设dll包含Add(int,int)方法。 现在我想在vc ++中使用add函数?
这该怎么做?
对你的帮助表示感谢。
这就是我在做的事情。
vcproj; 对于这个项目,我有右键单击和链接器部分添加其他依赖项。添加dll所在的路径。
main.cpp中
using namespace Test
void main()
{
demo d;
d.add(5,5);
}
错误命名空间测试不存在。
怎么解决这个?
我需要在非托管代码中使用该DLL
从MSDN论坛从非托管C ++调用C# :
你想要做的只是编译你想要加载C#code / clr的文件,然后使用C ++ / CLI调用。 您的应用程序的其余部分将保持原生状态,而您编译/ clr的那些cpp文件将混合使用本机和CLR。 您应该能够使用C ++ / CLI语法调用C#库。
一旦在文件的cl.exe命令行上抛出/ clr,就可以在该文件中调用所需的任何托管代码,无论它是用VB.net,C#还是C ++ / CLI编写的。 这是迄今为止你想做的最简单的方法(从你原生的C ++应用程序中调用C#代码),虽然它确实有其警告和限制。 总的来说,“它只是工作”。 而且,它比p / invokes更快。
这在很大程度上取决于您正在构建的C ++应用程序的类型。 如果要构建C ++ / CLI程序集,则需要确保项目具有对C#DLL的引用。 一旦完成,您应该能够按照书面形式键入代码,假设您具有Demo的定义,就像这样。
namespace Test {
public class demo {
public void add(int left, int right) {
...
}
}
}
如果要构建正常的,非托管的C ++项目,则必须使用COM interop来访问程序集。 这涉及使C#项目中的演示类型COMVisible并将其注册到COM互操作。 之后,您可以像任何其他COM组件一样访问它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.