簡體   English   中英

在本機 C++ 項目中導入 C# dll 庫

[英]Importing C# dll library within native C++ Project

我正在嘗試將 C# dll 庫包含到本機 C++ 控制台應用程序中。 我正在使用這篇文章: https : //support.microsoft.com/en-us/kb/828736#bookmark-7

但是,這篇文章是為 Visual Studio 2015 編寫的,我使用的是 Visual Studio 2015。

首先,我在 Stackoverflow 上檢查了幾個答案,但這些問題都不是我正在尋找的。

最接近我的問題在這里: C# library to native C++ application

因此,我創建了一個 C# 庫項目,其中包含以下代碼:

namespace Testing_Library
{

    // Interface declaration
    public interface iCalculator
    {
        int Add(int number1, int number2);
    }

    public class ManagedClass:iCalculator
    {
        public int Add(int number1, int number2)
        {
            return number1 + number2;
        }
    }
}

然后我將項目編譯為dll文件,然后我通過RegAsm.exe注冊了dll文件。 現在我有兩個輸出文件:

測試庫.dll

Testing_Library.tlb

我還創建了本機 C++ Windows 控制台應用程序項目。 在這個項目中,我有一個 .cpp 文件,其中包含以下代碼:

// Import the type library.
#import "..\Testing_Library\bin\Debug\Testing_Library.tlb" raw_interfaces_only

using namespace std;
using namespace Testing_Library;

void main()
{
    // Initialize COM.
    HRESULT hr = CoInitialize(NULL);

    // Create the interface pointer.
    iCalculatorPtr pICalc(__uuidof(ManagedClass));

    long lResult = 0;

    // Call the Add method.
    pICalc->Add(5, 10, &lResult);

    wprintf(L"The result is %d", lResult);

    // Uninitialize COM.
    CoUninitialize();

}

當我嘗試運行該項目時,我收到以下錯誤屏幕:

在此處輸入圖片說明

目前我不知道為什么我會收到此錯誤 Windows 並且我無法在互聯網上找到信息。 請你幫助我好嗎? 在這里您可以找到包含所有項目的整個解決方案: Onedrive 文件夾

我正在嘗試編譯和運行當前:

考驗我

測試_圖書館

請將 .NET 程序集的項目屬性中的平台目標更改為 x86。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM