将 dotnet 核心 (.NET Core) 嵌入 Windows/Linux 上的本机应用程序

Embed dotnet core (.NET Core) into native applications on Windows/Linux

是否有可能将 dotnet 核心 (.NET Core) 环境嵌入到本机进程中?

我的用例是一个现有的游戏服务器,我想在其中提供在 Windows 和 Linux.[=12] 上使用 .NET Core 上的 C# 扩展游戏的可能性=]

额外的问题:还会有像 "oldschool" .NET 中那样的 AppDomain 概念可用吗?

AppDomain 不会进入 dotnet 核心。 AppDomain api 的部分内容会过来,但与您所说的功能没有直接关系。我不相信您可以在本机进程中嵌入 dotnet 核心应用程序,但是在本机进程中您可以启动 dotnet 核心进程。

是的,绝对有可能。

我找到了包含示例的文档: .NET Core Hosting Tutorial

如果 link 不再起作用,请在网上搜索 "hosting .NET Core"。

关于 AppDomains ...我猜不是。 如果您使用 CoreClrHost.h,您可以为默认的 AppDomain 提供一个 ID,但它似乎是唯一的 AppDomain。对于隔离,您可以使用单独的进程。也许 AssemblyLoadContext class 也能帮到你。