somecodingwitch / MelonRuntime

✨ .NET-based JavaScript runtime focused in rapid prototyping of projects, using minimal dependencies and functional programming

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

`DependencyRunner.Get()` is not capable to get all .NET internal namespaces

somecodingwitch opened this issue · comments

Target 2.7.0 (not released)

Summary

Currently, there is a internal class in MelonRuntime.Core called DependencyRunner, this class is used to "pre-load" some dependencies used by the core. The objective was populate this class, but this is very weird, anti-pattern and would cause problems - mainly in the initialization.

Warning

Currently, Melon can't load a lot of internal namespaces because that problem, affecting the main usage and quality of Melon.dotnet internal javascript module.

Problem Solution

Remove the DependencyRunner class and call Assembly.Load if the assembly is not previously loaded in the cache, this will work for all .NET internal ones and external (nuget) installed ones too.

Solution Tests

After solving the probem, the following tests are required:

  • Should be capable of load new .NET internal assemblies and access its namespaces properly
  • Should be capable of store the new loaded assemblies in the cache and use it properly

Update (c4a34fd): DependencyRunner will be kept and now will call Assembly.Load internally for common assemblies

@victoriaquasar fofa!!!!!!!!!

Solved in #230