6
저는 C++를 C++/CLI로 변환 중이며 일부 관리되는 클래스를 COM 객체로 표시하려고합니다. C#에서는 쉬웠고 [ComVisible] &을 인터페이스 (ComVisible도)에서 상속 받으면 작업을 수행했습니다. 그러나 C++/CLI로 빌드 된 C++ 프로젝트는 DllRegisterServer를 내 보내지 않습니다.ComVisible in C++/CLI
다음은 샘플 프로젝트입니다 (VS 2008의 CLR 콘솔 응용 프로그램 프로젝트에서 시작됨).
#include "stdafx.h"
using namespace System;
using namespace System::Runtime::InteropServices;
[ComVisible(true)]
[Guid("E3CF8A18-E4A0-4bc3-894E-E9C8648DC1F0")]
[InterfaceType(ComInterfaceType::InterfaceIsDual)]
public interface class ITestInterface
{
void TestMethod();
};
[ComVisible(true)]
[Guid("1514adf6-7cb0-4561-9fbb-b75c0467149b")]
public ref class CliComClass : ITestInterface
{
public:
virtual void TestMethod()
{
}
};
int main(array<System::String ^> ^args)
{
Console::WriteLine(L"Hello World");
return 0;
}
출력 .exe에서 regsvr32를 실행하면 DllRegisterServer를 찾을 수 없다는 오류가 나타납니다. 나는 도움을 청하지만 성공하지 못했다.
도움 주셔서 감사합니다. Shay –