繁体   English   中英

在C#中使用C CLR :: Class库

[英]Use C CLR::Class Library in C#

我正在尝试让一些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

编辑:删除细微之处,添加错误的屏幕截图。

您是否尝试添加“使用CTrans”; 到使用块的Program.cs顶部?

检查并确保程序集使用相同的体系结构(x86 / x64)进行编译,并且错误列表中没有其他相关的警告。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM