初学者请问:VC/MFC中能不能调用C#写的DLL,请指点…
菜鸟请教:VC/MFC中能不能调用C#写的DLL,请指点……
VC/MFC Dialog项目,能不能调用C#写的DLL?如何调用??开发环境是vs.net2005。
请各位指点一下,谢谢!
学习,关注……
------解决方案--------------------
能
------解决方案--------------------
但是需要在C#的源代码里面添加一些代码
可以吗
------解决方案--------------------
能 msdn 有例子
------解决方案--------------------
看你的DLL什么形式
------解决方案--------------------
对于 C# dll
增加接口
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
public interface ITest
{
SomeFunc();
}
然后整个类实现他,在类之前增加代码:
[ClassInterface(ClassInterfaceType.None)]
[ProgId( "Some.NamespaceYouLike ")]
[Guid( "6F075568-7AAA-402d-B867-5454A997F0CB ")]
public class ForTest: ITest
然后编译生成dll,在VS2005 Promt下面用RegAsm工具生成tlb文件。
在C++中,import这个tlb文件,编译他 可以生成tlh和thi两个文件,分别是结构体定义和接口定义,在thi文件中找到智能指针名称。
包含命名空间:Some.NamespaceYouLike
用这个只能指针类型,以com的方式调用接口。
------解决方案--------------------
只是简单的说了下,你先式试,有问题再说。
------解决方案--------------------
在VS2005种好像选择“公共语言运行库支持”就可以了吧
托管代码与非托管代码相互调用会有莫名其妙的问题,我们在一个项目中的解决方案是托管代码与非托管代码有个COM通信层,事实证明非常稳定
VC/MFC Dialog项目,能不能调用C#写的DLL?如何调用??开发环境是vs.net2005。
请各位指点一下,谢谢!
学习,关注……
------解决方案--------------------
能
------解决方案--------------------
但是需要在C#的源代码里面添加一些代码
可以吗
------解决方案--------------------
能 msdn 有例子
------解决方案--------------------
看你的DLL什么形式
------解决方案--------------------
对于 C# dll
增加接口
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
public interface ITest
{
SomeFunc();
}
然后整个类实现他,在类之前增加代码:
[ClassInterface(ClassInterfaceType.None)]
[ProgId( "Some.NamespaceYouLike ")]
[Guid( "6F075568-7AAA-402d-B867-5454A997F0CB ")]
public class ForTest: ITest
然后编译生成dll,在VS2005 Promt下面用RegAsm工具生成tlb文件。
在C++中,import这个tlb文件,编译他 可以生成tlh和thi两个文件,分别是结构体定义和接口定义,在thi文件中找到智能指针名称。
包含命名空间:Some.NamespaceYouLike
用这个只能指针类型,以com的方式调用接口。
------解决方案--------------------
只是简单的说了下,你先式试,有问题再说。
------解决方案--------------------
在VS2005种好像选择“公共语言运行库支持”就可以了吧
托管代码与非托管代码相互调用会有莫名其妙的问题,我们在一个项目中的解决方案是托管代码与非托管代码有个COM通信层,事实证明非常稳定