我试图让一些 C++ 代码在 C# 下工作。我一直在尝试在网上到处学习教程,但编译或执行代码却没有任何运气。
我编写了一个编译为 .dll 的基本 C++ 类和一个 C# 控制台应用程序。- 我已将 C++ dll 上的平台工具集更改为 v100 - 我在 C# 应用程序中添加了对 dll 的引用
注意我正在尝试使用 C++ 类,而不是 C++ 静态函数......到代码上!
// CTrans.h
#pragma once
#include "windows.h"
using namespace System;
namespace CTrans {
public ref class CTransClass
{
public:
System::String^ helloWorld();
};
}
// CTrans.cpp
// This is the main DLL file.
#include "stdafx.h"
#include "CTrans.h"
String^ CTrans::CTransClass::helloWorld()
{
return gcnew System::String("Hello World!");
}
// Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CTWrapper
{
class Program
{
static void Main(string[] args)
{
unsafe
{
CTrans.CTransClass trans = new CTrans.CTransClass();
String tmp = trans.helloWorld();
}
}
}
}
错误:http ://sumarlidason.com/Capture.PNG
编辑:删除细节,添加错误截图。