【问题标题】:Can .netCore DLL use from native code like C++/Delphi.netCore DLL 可以从 C++/Delphi 等本机代码中使用吗
【发布时间】:2017-08-30 07:59:29
【问题描述】:

.netCore v1.1 有 ClassLibrary Project,它会编译成 DLL

这个 DLL 是非托管的吗?我可以从 C++ 或 Delphi 调用它吗?

【问题讨论】:

  • 不,该 DLL 是托管的,您不能从 C++ 或 Delphi 调用它。但是,您可以添加一个不可移植的接口库,您可以在其中导出 COM 对象(用 C++/CLI、C# 和任何其他 .NET 语言编写,并从几乎任何语言(包括 C++ 和 Delphi)中使用它们)。或者用 C++/CLI 编写这个库,你可以导出纯 C 函数。
  • @AdrianoRepetti 谢谢。我使用其他方法,例如Robert Giesecke,但想知道我是否可以使用 .netCore。
  • 我不知道该软件包是否与 .NET Core 1.1 兼容,如果我猜我会说...不,但没有什么比尝试更好的了!
  • @AdrianoRepetti 你是对的。此软件包与 .net 兼容,而不是 .netCore。我的意思是使用这个包和 .net 来制作 DLL
  • 第一条评论非常清楚地概述了您的选择

标签: c# c++ delphi dll .net-core


【解决方案1】:

您可能需要在代码中托管 .NET 环境。

在 Delphi 中,您可以使用来自 JclDotNet.pas 单元(绝地代码库)的 TJclClrHost 类。

PS 您的 DLL 中的类可能不是 ComVisible,因此您可能需要使用反射来进行调用。参见Hosting CLR in Delphi with/without JCL - example中的“使用反射”示例

【讨论】:

  • 这个问题是关于 .NET Core,而不是 .NET 本身。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 2016-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-05
相关资源
最近更新 更多