LavaGang / MelonLoader

The World's First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono
https://discord.gg/2Wn3N2P
Apache License 2.0
2.38k stars 472 forks source link

[Bug]: .NET 6.0 runtime #607

Closed Slluxx closed 8 months ago

Slluxx commented 8 months ago

All of the following criteria must be met

All of the following are optional to answer

Describe the issue.

Same as https://github.com/LavaGang/MelonLoader/issues/488

MelonLoader would not recognize my net 6 installation because it only checked C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App not C:\Program Files\dotnet\shared\Microsoft.NETCore.App

I unsintalled .net, installed .net and restarted my pc a billion times to try to fix this and then noticed that it will not recognize a 64 bit installation. It only magically started to work when i installed 32 bit dotnet.

Did you attach your log file?

Select an option below

RinLovesYou commented 8 months ago

So.. your game is 32 bit, so it needs 32 bit dotnet. What's the issue here?

Slluxx commented 8 months ago

The issue is that Melonloader does not tell you anything about it. Atleast its not nearly as clear as it should be. I did not know that you need both dotnet versions to handle 32 and 64 bit games because usually you only install or use anything that fits your processor architecture.

A "Hey, this game is using x32/64 and you are missing the dotnet version for it." is much more clear and will avoid future confusion.

While we are talking about this, i also got the error message "failed to load original dll". Dont know if its due to that or what it means. It doesnt tell me a path or filename so i can check on it myself and it also doesnt write anyhting to the logfile which is just plain bad. There is nothing i can do with this information unless i dive into the source code - which i did but others wont be able to.

There seems to be absolutly no information about generic error messages like these.

realChesta commented 8 months ago

The issue is that Melonloader does not tell you anything about it. Atleast its not nearly as clear as it should be. I did not know that you need both dotnet versions to handle 32 and 64 bit games because usually you only install or use anything that fits your processor architecture.

A "Hey, this game is using x32/64 and you are missing the dotnet version for it." is much more clear and will avoid future confusion.

While we are talking about this, i also got the error message "failed to load original dll". Dont know if its due to that or what it means. It doesnt tell me a path or filename so i can check on it myself and it also doesnt write anyhting to the logfile which is just plain bad. There is nothing i can do with this information unless i dive into the source code - which i did but others wont be able to.

There seems to be absolutly no information about generic error messages like these.

I am also getting this error message on a fresh install on a freshly set up PC. Installed .NET runtime 8 and 6 x64, tried to run on a x64 il2cpp game without any mods. Seems to work fine, but this error message pops up from time to time (but does not cause the game to crash).

RinLovesYou commented 8 months ago

Installed .NET runtime 8

You need the .NET 6 runtime.

The issue is that Melonloader does not tell you anything about it.

I think it's pretty clear when you read the Requirements section.

The rewrite will address this by shipping it though.

RinLovesYou commented 8 months ago

Closed as it's not a "Bug", but expected behavior. dotnet 6 is listed in the requirements section on both the github and the wiki.

Slluxx commented 8 months ago

I think it's pretty clear when you read the Requirements section.

No, its not. Otherwise me and others wouldnt be confused about it. Glad that it will be made easier though.