Skip to content

The .NET SDK is unnecessarily shipping 'ref' assemblies in the product #22359

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

Open
eerhardt opened this issue Oct 27, 2021 · 2 comments
Open
Assignees
Milestone

Comments

@eerhardt
Copy link
Member

We are shipping "ref" assemblies of our product assemblies inside the .NET SDK. These files are not necessary. We should remove them.

C:\Program Files\dotnet\sdk\6.0.100-rc.2.21505.57❯ foreach ($dir in gci -re -in "ref" ) { gci $dir.FullName | select FullName }

FullName
--------
C:\Program Files\dotnet\sdk\6.0.100-rc.2.21505.57\DotnetTools\dotnet-watch\6.0.100-rc.2.21505.11\tools\net6.0\any\ref\dotnet-watch.dll
C:\Program Files\dotnet\sdk\6.0.100-rc.2.21505.57\Microsoft\Microsoft.NET.Build.Extensions\tools\net6.0\ref\Microsoft.NET.Build.Extensions.Tasks.dll
C:\Program Files\dotnet\sdk\6.0.100-rc.2.21505.57\ref\MSBuild.dll
C:\Program Files\dotnet\sdk\6.0.100-rc.2.21505.57\ref\mscorlib.dll
C:\Program Files\dotnet\sdk\6.0.100-rc.2.21505.57\ref\netstandard.dll
C:\Program Files\dotnet\sdk\6.0.100-rc.2.21505.57\Sdks\Microsoft.NET.Sdk\tools\net6.0\ref\Microsoft.NET.Build.Tasks.dll
C:\Program Files\dotnet\sdk\6.0.100-rc.2.21505.57\Sdks\Microsoft.NET.Sdk.BlazorWebAssembly\tools\net6.0\ref\Microsoft.NET.Sdk.BlazorWebAssembly.Tasks.dll
C:\Program Files\dotnet\sdk\6.0.100-rc.2.21505.57\Sdks\Microsoft.NET.Sdk.Publish\tools\net6.0\ref\Microsoft.NET.Sdk.Publish.Tasks.dll
C:\Program Files\dotnet\sdk\6.0.100-rc.2.21505.57\Sdks\Microsoft.NET.Sdk.Razor\tasks\net6.0\ref\Microsoft.NET.Sdk.Razor.Tasks.dll
C:\Program Files\dotnet\sdk\6.0.100-rc.2.21505.57\Sdks\Microsoft.NET.Sdk.Web\tools\net6.0\ref\Microsoft.NET.Sdk.Web.Tasks.dll
C:\Program Files\dotnet\sdk\6.0.100-rc.2.21505.57\Sdks\Microsoft.NET.Sdk.Web.ProjectSystem\tools\net6.0\ref\Microsoft.NET.Sdk.Web.ProjectSystem.Tasks.dll
C:\Program Files\dotnet\sdk\6.0.100-rc.2.21505.57\Sdks\Microsoft.NET.Sdk.Worker\tools\net6.0\ref\Microsoft.NET.Sdk.Worker.Tasks.dll

AFAICT - this is due to the fact that $(ProduceReferenceAssembly) is true during our build, and whatever mechanism we are using to deploy the above projects is picking up the reference assembiles.

See the discussion here: dagood/source-build#9 (comment)

cc @sfoslund @dsplaisted

@marcpopMSFT
Copy link
Member

Old issue triage: This is mostly fixed now with only one ref folder left that has two msbuild binaries (CC @dotnet/kitten ), mscorlib, and netstandard. Moving to backlog since it's a narrower issue now.

@marcpopMSFT marcpopMSFT removed the untriaged Request triage from a team member label Apr 15, 2025
@rainersigwald
Copy link
Member

MSBuild does need to ship mscorlib and netstandard (or be enlightened to find equivalents from elsewhere in the SDK I guess).

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

No branches or pull requests

4 participants