In some cases, Netbeauty2 may cause the same dll to be loaded multiple times
https://user-images.githubusercontent.com/9072328/223904381-0b1528ea-b4c7-4959-9d3f-31783faa25ae.mp4
MyTests.zip 1.TestLibs is a public library that is referenced by other projects. 2.TestPlugin, simulation plug-in dll, dynamic loading, direct reference to TestLibs 3. TestConsoleWithRef directly references TestLibs and uses NetBeauty for directory optimization 4.TestConsole, load TestLibs through Assembly.LoadFile and call its methods.
When running with TestConsole, you will see TestLibs.dll loaded twice. It's not clear to me if this is expected, if Assembly.LoadFile must be used to briefly reference TestLibs, is there a solution to this problem?

i can't reproduce it even do everything exactly the same as the video, but after analyzing the project structure, but i guess here should be what things happened
TestConsoleandTestConsoleWithRefare one withNetBeautyand one withoutNetBeauty- after building entire solution, both two projects files are mixed into the same output folder
- running the
ncbeautypost build task, it will search every single*.deps.jsonand*.runtimeconfig[.dev].jsonand process them, soTestConsoleis beauty unexcpedly too. ncbeautyinjects aSTARTUP_HOOKcallsnbloaderwhich will add a resolver to the defaultAssemblyLoadContext.TestLibsalso adds a resolver to the currentAppDomainTestLibswas loaded twice in somehow
btw:
the project structure is kind of wired, TestConsole is trying to load the TestLibs and TestLibs is trying to load the TestPlugin and TestPlugin is referencing the TestLibs.
ps:
NetBeauty has the concept of project since it is a msbuild task, but ncbeauty hasn't unless treats every different *.deps.json as a different project, but this behaviour should treat as a BUG.
you can post a copy of debug build bins with pdb so i can have a deep look.