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

qyswt5oh  于 2023-03-01  发布在  Linux
关注(0)|答案(3)|浏览(186)

是否有可能将. NET核心(. NET Core)环境嵌入到本机进程中?
我的用例是一个现有的游戏服务器,我希望在Windows和Linux上使用. NET Core上的C#扩展游戏。
附加问题:是否也会有AppDomain-概念像在"老派". NET中一样可用?

xqk2d5yq

xqk2d5yq1#

是的,这绝对有可能。
我找到了这个文档的例子:.NET Core Hosting Tutorial
如果链接不再起作用,请在Web上搜索“托管.NET核心”。
关于AppDomain ...我想没有。如果你使用CoreClrHost. h,你可以为默认的AppDomain提供一个ID,但它似乎是唯一的AppDomain。为了隔离,你可以使用单独的进程。也许AssemblyLoadContext类也可以对你有所帮助。

piok6c0g

piok6c0g2#

AppDomain不会出现在dotnet core中。AppDomain API的一部分会出现,但与你所说的功能没有直接关系。我不相信你可以在本机进程中嵌入dotnet core应用程序,但是在本机进程中你可以 Boot dotnet core进程。

bbuxkriu

bbuxkriu3#

我已经测试了嵌入式图形用户界面或窗口系统,你可以嵌入到静态可执行文件。首先使用Alpine或Void-Linux(qemu访客通过共享文件夹)查看更多信息https://github.com/dotnet/runtimelab/issues/2202
对不起,我会在我的工作之后改进我的答案。好的。我会解释你如何嵌入图形用户界面或游戏层框架,如glfw或sdl 2/3,但我使用musl-gcc和dotnet应用程序使用原生aot。我希望你有关于Alpine或Void-Linux的经验。

相关问题