簡體   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