我试图让一些C ++代码在C#下工作。我一直在尝试在线跟踪教程,没有任何运气编译或执行代码。
我编写了一个基本的C ++类,它编译成.dll和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
编辑:删除了细节,添加了错误的屏幕截图。
答案 0 :(得分:0)
您是否尝试添加“使用CTrans”;使用块?
到Program.cs的顶部检查以确保使用相同的体系结构(x86 / x64)编译程序集,并且错误列表中没有其他相关警告。