Skip to content

Proposal: Add Static Library Support #68761

Closed

Description

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    • Status

      No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions