Есть два проекта (C # и Managed C ++). Проекты C # должны вызывать метод в проекте ManagedCPP. в справочном разделе проекта c # добавлен управляемый cpp dll.
если строки 1, 2 и 3 не закомментированы, а строка 4 закомментирована, возникает также следующая проблема:
Необработанное исключение: System.BadImageFormatException
Кодовая база выглядит следующим образом:
C# class:
using System.Runtime.InteropServices;
using ManagedCPP;
namespace CSharp
{
class Program
{
//[DllImport("ManagedCPP")] // Line 1
//public static extern void Convert(); // Line 2
static void Main(string[] args)
{
new Program().CreateObject();
}
private void CreateObject()
{
//Convert(); // Line 3
ManagedCPPEntryClass c = new ManagedCPPEntryClass(); // Line 4
Console.ReadKey();
}
}
}
C++/CLI class(.h):
namespace ManagedCPP
{
public ref class ManagedCPPEntryClass
{
public:
void Convert();
};
}
C++/CLI class(.cpp):
#include "ManagedCPP.h"
using namespace ManagedCPP;
void ManagedCPPEntryClass::Convert()
{
}