diff --git a/sources/shared/Stride.NuGetResolver/RestoreHelper.cs b/sources/shared/Stride.NuGetResolver/RestoreHelper.cs index 7275c8a903..749ef5a18b 100644 --- a/sources/shared/Stride.NuGetResolver/RestoreHelper.cs +++ b/sources/shared/Stride.NuGetResolver/RestoreHelper.cs @@ -93,6 +93,10 @@ public static List ListNativeLibs(LockFile lockFile) { foreach (var n in lib.NativeLibraries) { + if (!IsValidNativeLibraryFile(n.Path)) + { + continue; + } var assemblyFile = Path.Combine(libPath, n.Path.Replace('/', Path.DirectorySeparatorChar)); libs.Add(assemblyFile); } @@ -100,6 +104,18 @@ public static List ListNativeLibs(LockFile lockFile) } return libs; + + static bool IsValidNativeLibraryFile(string path) + { + if (path.EndsWith(".dll", StringComparison.OrdinalIgnoreCase) + || path.EndsWith(".so", StringComparison.OrdinalIgnoreCase) + || path.Contains(".so.", StringComparison.OrdinalIgnoreCase) // Linux allows for files like 'libnativedep.so.6' + || path.EndsWith(".dylib", StringComparison.OrdinalIgnoreCase)) + { + return true; + } + return false; + } } private static Dictionary<(string, NuGetVersion), string> GetLibPaths(LockFile lockFile)