diff --git a/Source/Engine/Engine/NativeInterop.cs b/Source/Engine/Engine/NativeInterop.cs index b33e4bcb6..faa19d060 100644 --- a/Source/Engine/Engine/NativeInterop.cs +++ b/Source/Engine/Engine/NativeInterop.cs @@ -58,19 +58,8 @@ namespace FlaxEngine.Interop if (!loadedNativeLibraries.TryGetValue(libraryName, out IntPtr nativeLibrary)) { if (!nativeLibraryPaths.TryGetValue(libraryName, out var nativeLibraryPath)) - { nativeLibraryPath = libraryName; - // Check if any of the loaded assemblies has matching native module filename - foreach (var e in nativeLibraryPaths) - { - if (string.Equals(Path.GetFileNameWithoutExtension(e.Value), libraryName, StringComparison.Ordinal)) - { - nativeLibraryPath = e.Value; - break; - } - } - } nativeLibrary = NativeLibrary.Load(nativeLibraryPath, assembly, dllImportSearchPath); loadedNativeLibraries.Add(libraryName, nativeLibrary); assemblyOwnedNativeLibraries.Add(assembly, libraryName); diff --git a/Source/Engine/Scripting/Runtime/DotNet.cpp b/Source/Engine/Scripting/Runtime/DotNet.cpp index f2c5ee376..1736cc106 100644 --- a/Source/Engine/Scripting/Runtime/DotNet.cpp +++ b/Source/Engine/Scripting/Runtime/DotNet.cpp @@ -712,7 +712,8 @@ bool MAssembly::LoadImage(const String& assemblyPath, const StringView& nativePa // Provide new path of hot-reloaded native library path for managed DllImport if (nativePath.HasChars()) { - RegisterNativeLibrary(assemblyPathAnsi.Get(), StringAnsi(nativePath).Get()); + StringAnsi nativeName = _name.EndsWith(".CSharp") ? StringAnsi(_name.Get(), _name.Length() - 7) : StringAnsi(_name); + RegisterNativeLibrary(nativeName.Get(), StringAnsi(nativePath).Get()); } _hasCachedClasses = false;