Импортировать подписанный C # dll в проект C ++?

Я пытаюсь импортировать .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

0

Решение

Ты смотрел SWIG? Я думаю, что это хорошее решение, вам просто нужно написать обертку для ваших нужд …

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]