/CLR 플래그를 사용하여 컴파일 된 오래된 네이티브 MFC/C++ dll이 있습니다. 이제 관리되는 C++/CLI 클래스를 namaspace 내의 dll에 추가했습니다./CLR 플래그로 관리되는 클래스가 포함 된 기본 DLL
헤더 파일은 아래에 있으며 cpp 파일에는 헤더 파일에 #include 만 있습니다. 네이티브 dll은 관리되지 않는 코드가 많은 거대한 dll 프로젝트이지만 아래와 같이 하나의 관리되는 C++ 클래스 만 있습니다.
나는 개체 브라우저에서 해당 네임 스페이스/클래스를 참조하지 않는 닷넷 윈폼 프로젝트에 대한 참조로 그 DLL을 추가 할 때
내가 네임 스페이스 "ShashiTest"을 찾지 못하는 경우에 대한 오류를 컴파일 할 수
나는 Visual Studio를 사용하고 혼합 모드에서 2008
기본 DLL을가 관리되는 프로젝트에 참조로 추가 할 수 없습니다?
또는 무엇이 누락되었습니다.
도와주세요. 내가 단순화하면
#pragma once
#using<mscorlib.dll>
#using<system.windows.forms.dll>
// Class derived from Forms
using namespace System::Windows::Forms;
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Diagnostics;
using namespace System::Windows::Forms;
namespace ShashiTest {
/// <summary>
/// Summary for test
/// </summary>
public ref class test
{
public:
test(void)
{
};
void ShowMessage()
{
MessageBox::Show("Hello World");
}
};
}
내 problem..I 신선한 MFC DLL을 만들고 그것에 manged했던 C++ 클래스 (위와 같은 클래스)를 추가했다./CLR 플래그로 컴파일됩니다. 내가 윈폼 프로젝트에이 DLL을 추가하고 실행하면
은 내가
System.BadImageFormatException를 얻을. 어떤 단서?
그러나 나는 클래스와 이름 공간을보고 winform 프로젝트는 위의 문제와 달리 괜찮습니다.
이렇게하면됩니다. 어쩌면 코드를 보여줘야할까요? 또는 반사경을 사용하여 dll의 내용을 확인하십시오. – cdleonard