В отличие от .NET Standard 1, .NET Standard 2 представляет единую netstandard.dll
справочную сборку.
Однако при компиляции (с .NET Core SDK 2.2.203) с dotnet build
мы видим, что он добавляет ссылки на многие сборки (113), все в netstandard.library/2.0.3/build/netstandard2.0/ref/*.dll
. Одна из этих ссылок - netstandard.dll
.
$ grep TargetFramework *.csproj
<TargetFramework>netstandard2.0</TargetFramework>
$ dotnet build --verbosity normal | grep -o netstandard.library/2.0.3/build/netstandard2.0/ref | wc -l
113
Получившаяся сборка содержит единственную ссылку на стандарт:
$ ikdasm test.exe | grep extern
.assembly extern netstandard
Вопрос в том, почему netstandard.library
пакет NuGet содержит все эти другие сборки и почему они используются во время сборки, вместо ссылки на один netstandard.dll
.