Description
openedon Apr 22, 2022
Description
Compiling many small libraries can lead to large unwieldly runtime folders. Ideally a developer should have full control over how they organize their internal codebase into isolated units of code for code cleanliness and incremental build performance that does not require for internal structures to leak into the distribution package. I propose that .Net Core introduce a new concept of a static library which contains precompiled IL that will be linked into target DLLs. This will allow for the creation of a single self-contained executable that can perform more aggressive IL trimming to limit binary size and simplify distribution packages.
Open Question: Would there be startup performance improvements from load dll overhead?
Configuration
NA
Regression?
.Net Framework used to have the concept of net modules which was a close approximation but was removed with .net core.
Other information
Issue opened on Roslyn where it was suggested to raise this issue with the core team: dotnet/roslyn#60503
Issue related asking for net modules: dotnet/core#4212
Issue asking runtime to re-add netmodules old discussion with no clear answer: #10598
ILMerge seems to be dead: https://github.com/dotnet/ILMerge
Metadata
Assignees
Type
Projects
Status
No status