[英]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 文件夹
我正在尝试编译和运行当前:
考验我
和
测试_图书馆
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.