我正在尝试将.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有问题吗? 或者有没有其他方法将我的DLL导入c ++项目并将dll添加到GAC