Fix C# assemblies loading in AOT mode (use file path to correctly load precompiled native assembly)

This commit is contained in:
Wojtek Figat
2023-04-02 14:50:42 +02:00
parent a3517b273c
commit 21f419dd4b
2 changed files with 12 additions and 13 deletions

View File

@@ -662,16 +662,12 @@ bool MAssembly::LoadCorlib()
bool MAssembly::LoadImage(const String& assemblyPath, const StringView& nativePath)
{
// Load assembly file data
Array<byte> data;
File::ReadAllBytes(assemblyPath, data);
// Open .Net assembly
const StringAnsi assemblyPathAnsi = assemblyPath.ToStringAnsi();
const char* name;
const char* fullname;
static void* LoadAssemblyImagePtr = GetStaticMethodPointer(TEXT("LoadAssemblyImage"));
_handle = CallStaticMethod<void*, char*, int, const char*, const char**, const char**>(LoadAssemblyImagePtr, (char*)data.Get(), data.Count(), assemblyPathAnsi.Get(), &name, &fullname);
_handle = CallStaticMethod<void*, const char*, const char**, const char**>(LoadAssemblyImagePtr, assemblyPathAnsi.Get(), &name, &fullname);
_name = name;
_fullname = fullname;
MCore::GC::FreeMemory((void*)name);