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

CLI files layout includes "ref" directories that aren't required and add to size on disk/installer time #16197

Closed
DamianEdwards opened this issue Mar 3, 2021 · 4 comments
Labels
Area-Install build needs team triage Requires a full team discussion
Milestone

Comments

@DamianEdwards
Copy link
Member

The CLI layout on disk after installation includes numerous ref directories. None of these, as far as I can tell, are required but were included because one is produced by default in build output since .NET 5 and thus they get included in the overall CLI layout.

We should look at tweaking the build properties to remove these directories as they simply add to the install time and on disk footprint of the CLI.

C:\Program Files\dotnet\sdk\6.0.100-preview.3.21153.9> Get-ChildItem -Directory -Recurse -Filter ref | Select-Object -Property FullName

FullName
--------
C:\Program Files\dotnet\sdk\6.0.100-preview.3.21153.9\ref
C:\Program Files\dotnet\sdk\6.0.100-preview.3.21153.9\DotnetTools\dotnet-watch\6.0.100-preview.3.21153.5\tools\net6.0\any\ref
C:\Program Files\dotnet\sdk\6.0.100-preview.3.21153.9\Microsoft\Microsoft.NET.Build.Extensions\tools\net6.0\ref
C:\Program Files\dotnet\sdk\6.0.100-preview.3.21153.9\Sdks\Microsoft.NET.Sdk\tools\net6.0\ref
C:\Program Files\dotnet\sdk\6.0.100-preview.3.21153.9\Sdks\Microsoft.NET.Sdk.BlazorWebAssembly\tools\net6.0\ref
C:\Program Files\dotnet\sdk\6.0.100-preview.3.21153.9\Sdks\Microsoft.NET.Sdk.Publish\tools\net6.0\ref
C:\Program Files\dotnet\sdk\6.0.100-preview.3.21153.9\Sdks\Microsoft.NET.Sdk.Razor\tasks\net6.0\ref
C:\Program Files\dotnet\sdk\6.0.100-preview.3.21153.9\Sdks\Microsoft.NET.Sdk.Web\tools\net6.0\ref
C:\Program Files\dotnet\sdk\6.0.100-preview.3.21153.9\Sdks\Microsoft.NET.Sdk.Web.ProjectSystem\tools\net6.0\ref
C:\Program Files\dotnet\sdk\6.0.100-preview.3.21153.9\Sdks\Microsoft.NET.Sdk.Worker\tools\net6.0\ref

C:\Program Files\dotnet\sdk\6.0.100-preview.3.21153.9>

Note that changing the default for exe outputs to not produce a ref dir is being considered for .NET 6 #16193

@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged Request triage from a team member label Mar 3, 2021
@wli3 wli3 added needs team triage Requires a full team discussion and removed untriaged Request triage from a team member labels Mar 5, 2021
@wli3 wli3 added this to the 6.0.1xx milestone Mar 5, 2021
@wli3
Copy link

wli3 commented Mar 5, 2021

That should be easy to implement. Just find all projects to set ProduceReferenceAssembly to false. Meanwhile redist project has it set already

We might want to do #16193 instead

@marcpopMSFT
Copy link
Member

For 6.0.100, we should not include these in the sdk install. Separately, we should discuss not including them in the bin directory output at all on a build and the repercussions of that change.

@marcpopMSFT marcpopMSFT removed the needs team triage Requires a full team discussion label Mar 10, 2021
@wli3 wli3 removed their assignment Sep 28, 2021
@wli3 wli3 added the needs team triage Requires a full team discussion label Sep 28, 2021
@wli3 wli3 modified the milestones: 6.0.1xx, 6.0.2xx Sep 28, 2021
@marcpopMSFT
Copy link
Member

Adding this to the SDK product size .net 7 idea document and closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Install build needs team triage Requires a full team discussion
Projects
None yet
Development

No branches or pull requests

3 participants