Linux 上 DllImport 属性的运行时路径

Fri*_*end 6 c# linux .net-core

我正在寻找一种在 Linux 下使用 DLLImport 属性时动态更改 dll 路径的解决方案。我有一个 if 语句来检查当前操作系统 ( RuntimeInformation.IsOSPlatform(OSPlatform.Windows)),如果应用程序在 Windows 上运行,那么我将使用SetDllDirectoryfrom 的方法kernel32.dll动态地将文件夹添加到 dll 搜索路径。

对于 Windows,我根据某些运行时决策加载两个不同的 dll。他们将位于Environment.CurrentDirectory + Drivers/Win/1/Environment.CurrentDirectory + Drivers/Win/2/

对于 Linux,.so将位于Environment.CurrentDirectory + Drivers/Linux/

dlls和文件so具有完全相同的界面和名称。

是否有类似于SetDllDirectory.NET 5 下的 Linux 的等效解决方案?

谢谢