gpt4 book ai didi

c# - 是否可以从 .NET 核心在 linux 平台上调用共享库 (.so)?

转载 作者:行者123 更新时间:2023-11-30 16:47:38 26 4
gpt4 key购买 nike

我知道 .NET 核心的目标是跨平台开发,但我正在寻找向后兼容性。如果我有可用的 linux 库(可能是遗留的),并且我希望从 linux 平台的 .NET 核心应用程序调用它的函数。可能吗?

我不是在谈论 ASP.NET 核心,我需要它用于桌面应用程序。

最佳答案

是:https://github.com/dotnet/corefx/issues/343

话虽如此,我承认我还没有真正尝试过。我已经在 Mono 上使用了很多,因为它的值(value),而且绝对值得阅读他们的文档:http://www.mono-project.com/docs/advanced/pinvoke/ ...因为 .net 核心似乎采用了很多相同的方法(例如:省略 p-invoked 库的文件扩展名,以便系统可以处理链接到正确版本等...)

例如.net core本身是如何做到这一点的:

const string LIBC = "libc";

[DllImport(LIBC, EntryPoint = "getenv")]
private static extern IntPtr getenv_core(string name);

https://github.com/dotnet/corefx/blob/79d44f202e4b6d000ca6c6885a24549a55db38f1/src/System.Console/src/Interop/Interop.manual.Unix.cs

关于c# - 是否可以从 .NET 核心在 linux 平台上调用共享库 (.so)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39240422/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com