private string[] ProcessNativeLibraries(RuntimeLibrary runtimeLibrary, string[] nugetPackageFolders) { List <string> result = new List <string>(); foreach (var nativeLibraryGroup in runtimeLibrary.NativeLibraryGroups.Where( nlg => RuntimeHelper.AppliesToCurrentRuntime(nlg.Runtime))) { foreach (var assetPath in nativeLibraryGroup.AssetPaths) { var fullPath = GetFullPath(Path.Combine(runtimeLibrary.Path, assetPath), nugetPackageFolders); _logger.Debug($"Loading native library from {fullPath}"); result.Add(fullPath); } } return(result.ToArray()); }
private void ProcessNativeLibraries(RuntimeLibrary runtimeLibrary, string[] nugetPackageFolders) { foreach (var nativeLibraryGroup in runtimeLibrary.NativeLibraryGroups.Where( nlg => RuntimeHelper.AppliesToCurrentRuntime(nlg.Runtime))) { foreach (var assetPath in nativeLibraryGroup.AssetPaths) { var fullPath = GetFullPath(Path.Combine(runtimeLibrary.Path, assetPath), nugetPackageFolders); _logger.Debug($"Loading native library from {fullPath}"); if (RuntimeHelper.IsWindows()) { LoadLibrary(fullPath); } else { // Maybe something like this? // https://stackoverflow.com/questions/13461989/p-invoke-to-dynamically-loaded-library-on-mono } } } }