Godot: The assembly mscorlib.dll was not found or could not be loaded

Created on 31 Aug 2020  路  5Comments  路  Source: godotengine/godot

Godot version:
Godot Engine v3.2.3.rc4.mono.custom_build.fad1feb3a

OS/device including version:
Windows 10 64 bit

Issue description:
Build godot with scons and run it normally cause it to close immediately with this log

The assembly mscorlib.dll was not found or could not be loaded.
It should have been installed in the `C:\Users\Thaina\Documents\Git\godot\bin/GodotSharp/Mono/lib\mono\4.5\mscorlib.dll' directory.

I suspect that the problem came from scons build creating this file

godot\bin\GodotSharp\Mono\lib\mono\v4.0\MSBuild.exe

When this file exist, maybe because it has Mono folder structure, it then try to find mscorlib.dll from here (when actually my Mono folder exist in C:\Program Files\Mono)

Deleting that generated folder than let me open godot IDE normally

Steps to reproduce:

  • using vscode, pull source code from branch 3.2
  • Using vscode terminal to build godot from source for mono as state in this (https://docs.godotengine.org/en/stable/development/compiling/compiling_with_mono.html)

    • I use command scons tools=yes module_mono_enabled=yes mono_glue=no without specified platform, let it just assume to be windows

  • Then just run bin\\godot.windows.tools.64.mono.exe

I think this problem never occur to me around last week so it seem a new version around less than 5 days cause it

enhancement buildsystem mono

Most helpful comment

This is most likely because you need to pass copy_mono_root=yes to SCons when building Godot. Honestly, this should be made the default, specially considering things would break otherwise when building with a different mono other than the one that's detected by default.

All 5 comments

This is most likely because you need to pass copy_mono_root=yes to SCons when building Godot. Honestly, this should be made the default, specially considering things would break otherwise when building with a different mono other than the one that's detected by default.

This is most likely because you need to pass copy_mono_root=yes to SCons when building Godot. Honestly, this should be made the default, specially considering things would break otherwise when building with a different mono other than the one that's detected by default.

i agree with default, if not it should be added to the documentation for building mono godot

I mean this only set me back a few hours trying to figure out why my build wasn't working. Please address.

@navstev0 This is something you could have directly opened a pull request for :slightly_smiling_face:

It's a matter of searching for copy_mono_root in the codebase and changing its default value. Anyway, I did it in #42332.

@Calinou this was a precursor to me starting to contribute. But now I am all up and running so I will start to push back to the community.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

rgrams picture rgrams  路  3Comments

ducdetronquito picture ducdetronquito  路  3Comments

testman42 picture testman42  路  3Comments

Spooner picture Spooner  路  3Comments

bojidar-bg picture bojidar-bg  路  3Comments