You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In all actuality, I expected the same .NET assemblies that I installed when I installed the dotnet cli to be used.
Actual Results
dotnet restore takes a while, and when it is finished my %userprofile%\.nuget\packages folder is 340 MB on disk.
Looking into this, a lot of the NuGet packages we download have xml files for every supported language, for multiple versions, and for multiple TFMs. For example:
System.Runtime.Extensions
|--- / 4.0.10
|--- /ref
|--- /dotnet
|--- /de
|--- /System.Runtime.Extensions.xml 325 KB
|--- /es
|--- /.. 7 other languages
|--- /MonoAndroid10
|--- /... 4 other TFMs
|--- / 4.1.0-rc2-23811
|--- /ref
|--- /dotnet5.1
|--- /de
|--- /System.Runtime.Extensions.xml 325 KB
|--- /es
|--- /.. 7 other languages
|--- /... 11 other TFMs
System.Runtime.Extensions alone is 14.2 MB
The text was updated successfully, but these errors were encountered:
What's the action item here, exactly? The CLI has its dependencies bundled in with the product, not in the package cache. That is going off the raw zip I downloaded earlier today, but I would guess that the MSI is the same.
I think the biggest/first action item would be to reduce the size of our packages. The example I show above is repeated for other packages. For example, there are two versions of System.Runtime which account for 84 MB on disk.
18 TFMs X 9 languages is making up a big part of the problem. Maybe one step we could do is create language specific packages. Each developer only cares about a single language. At most, they care about their native language and maybe English.
So currently intellisense has very strict rules for the layout of xml docs. @yishaigalatzer has requested feature here but I haven't heard if anything is happening.
NuGet had a feature to split docs out then they'd recompose at restore time, but that doesn't work with NuGet v3/project.json: NuGet/Home#2245.
You should see that the latest packages are closure-complete on the latest set so that will help reduce the number of duplicate packages downloaded.
I don't think there is really anything specifically actionable here so I'm closing. We will try and figure out if there is anything we can do to split out things from the packages but those would be individual separate issues.
To repro on a new machine (or delete your
%userprofile%\.nuget\packages
folder):Expected Results
In all actuality, I expected the same .NET assemblies that I installed when I installed the dotnet cli to be used.
Actual Results
dotnet restore takes a while, and when it is finished my
%userprofile%\.nuget\packages
folder is 340 MB on disk.Looking into this, a lot of the NuGet packages we download have xml files for every supported language, for multiple versions, and for multiple TFMs. For example:
System.Runtime.Extensions alone is 14.2 MB
The text was updated successfully, but these errors were encountered: