Estoy buscando una solución para cambiar dinámicamente la ruta dll cuando uso el atributo DLLImport en Linux. Tengo una declaración if para verificar el sistema operativo actual ( RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ), y si la aplicación se ejecuta en Windows, estoy usando el método SetDllDirectory de kernel32.dll para agregar dinámicamente una carpeta a la ruta de búsqueda de dll .
Para Windows, tengo dos dlls diferentes para cargar en función de alguna decisión de tiempo de ejecución. estarán ubicados en Environment.CurrentDirectory + Drivers/Win/1/ y Environment.CurrentDirectory + Drivers/Win/2/ .
Para Linux, el .so estará ubicado en Environment.CurrentDirectory + Drivers/Linux/
Los dlls y so tienen exactamente la misma interfaz y nombre.
¿Existe una solución equivalente como SetDllDirectory para Linux bajo .NET 5?
Gracias