将唱歌的C#DLL导入C 项目

Importing singed C# dll into C++ project?

本文关键字:导入 项目 C#DLL      更新时间:2023-10-16

我正在尝试将.net dll导入到C 项目中。C 代码构成以下代码:

#include "stdafx.h"
#import "RemoteAgentLibs.tlb" named_guids raw_interfaces_only
int main() {
    HRESULT init = CoInitialize( NULL );
    if (init != S_OK) return 1;
    ImportedNamespace::_ClassNamePtr myclass;
    myclass = new ImportedNamespace::_ClassNamePtr("ImportedNamespace.ClassName");
    myclass->MyMeyhod();
}

一切正常,直到我检查了.NET项目的属性中的"签名"。在.NET项目中,我得到警告:

警告3"通往dll的路径"不包含任何可能未注册的com Interop的类型。

警告3"通往dll的路径"不包含任何可以注册用于com Interop的类型。

在C 项目中,我有错误:

错误c2039:'myMethod':不是'importedNamespace :: _ classNameptr'

的成员

有人可以告诉我为什么有一个带有强名签名的dll的problme?或其他方法可以将我的DLL导入C 项目并将DLL添加到GAC

您看上去是否swig?我认为这是一个很好的解决方案,您只需要为您的需要写一个包装纸...