@@ -181,16 +181,34 @@ public bool TryLoadNativeLibraryPath(string libraryName)
181
181
throw new InvalidOperationException (
182
182
"OS type is unknown. Must use the overload to manually load the file" ) ;
183
183
184
- ILibraryLoader loader = osType switch
184
+ ILibraryLoader loader ;
185
+
186
+ switch ( osType )
185
187
{
186
- OsType . Windows32 => new WindowsLibraryLoader ( ) ,
187
- OsType . Windows64 => new WindowsLibraryLoader ( ) ,
188
- OsType . Linux32 => new LinuxLibraryLoader ( ) ,
189
- OsType . Linux64 => new LinuxLibraryLoader ( ) ,
190
- OsType . MacOs32 => new MacOsLibraryLoader ( ) ,
191
- OsType . MacOs64 => new MacOsLibraryLoader ( ) ,
192
- _ => new EmbeddedLibraryLoader ( )
193
- } ;
188
+ case OsType . Windows32 :
189
+ case OsType . Windows64 :
190
+ loader = new WindowsLibraryLoader ( ) ;
191
+ libraryName = $ "{ libraryName } .dll";
192
+ break ;
193
+ case OsType . Linux32 :
194
+ case OsType . Linux64 :
195
+ loader = new LinuxLibraryLoader ( ) ;
196
+ libraryName = $ "lib{ libraryName } .so";
197
+ break ;
198
+ case OsType . MacOs32 :
199
+ case OsType . MacOs64 :
200
+ loader = new MacOsLibraryLoader ( ) ;
201
+ libraryName = $ "lib{ libraryName } .dylib";
202
+ break ;
203
+ case OsType . LinuxArmhf :
204
+ case OsType . LinuxRaspbian :
205
+ case OsType . roboRIO :
206
+ loader = new EmbeddedLibraryLoader ( ) ;
207
+ libraryName = $ "lib{ libraryName } .so";
208
+ break ;
209
+ default :
210
+ throw new InvalidOperationException ( "Unknown OS type?" ) ;
211
+ }
194
212
195
213
bool wasLoaded = loader . TryLoadLibrary ( libraryName ) ;
196
214
if ( wasLoaded )
0 commit comments