Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assembly descriptions take up a lot of space #1800

Closed
MichalStrehovsky opened this issue Jul 18, 2022 · 3 comments
Closed

Assembly descriptions take up a lot of space #1800

MichalStrehovsky opened this issue Jul 18, 2022 · 3 comments
Labels
Area-Performance bug Something isn't working

Comments

@MichalStrehovsky
Copy link
Member

In an app with a System.CommandLine reference, the following text:

This package includes a powerful command line parser and other tools for building command line applications, including:

    

    * Shell-agnostic support for command line completions

    * Method invocation and an extensible middleware pipeline

    * Constructor- and property-based model binding for complex types

    * Test and debug support

is repeated 28 times, taking up 14+ kB.

The text is embedded in the Win32 resource (UTF-16) and within a custom attribute reference (UTF-8) in each of the System.CommandLine assemblies (the main assembly itself, and 13 satellites assemblies.

My suggestion would be to replace this with a simple "System.CommandLine" string, same as libraries produced in the dotnet/runtime repo do.

@am11
Copy link
Member

am11 commented Jul 22, 2022

is repeated 28 times

In spite of our workaround in runtime repo (using <SatelliteResourceLanguages>en-US), is this expected that assembly metadata is not de-duplicated for any given PackageReference?

@jonsequitur jonsequitur added bug Something isn't working Area-Performance labels Sep 23, 2022
@KalleOlaviNiemitalo
Copy link

KalleOlaviNiemitalo commented May 2, 2023

Related: dotnet/msbuild#8720 suggesting a warning about overlong AssemblyDescriptionAttribute or Win32 version resource.

Place the long description in PackageDescription, and just a few words in Description. Surely, the description of an assembly should not start with "This package". NuGet pack and restore as MSBuild targets

<Description>This package includes a powerful command line parser and other tools for building command line applications, including:
* Shell-agnostic support for command line completions
* Method invocation and an extensible middleware pipeline
* Constructor- and property-based model binding for complex types
* Test and debug support
</Description>

Besides, "Constructor- and property-based model binding for complex types" in that description seems out of date, as that feature is now in a separate package.

<Description>This package provides command handler support for System.CommandLine performs parameter and model binding by matching option and argument names to parameter and property names.</Description>

@KalleOlaviNiemitalo
Copy link

The description of System.CommandLine was shortened in #2224, although one wouldn't guess from the summary of that PR.

<Description>Support for parsing command lines, supporting both POSIX and Windows conventions and shell-agnostic command line completions.</Description>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Performance bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants