Например, вот мой .csproj прямо сейчас:При создании библиотеки стандартных классов .NET в VS 2017 RC, как мне сохранить ссылки на пакеты в качестве частных деталей реализации?
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
<PropertyGroup>
<TargetFrameworks>netstandard1.3;net451</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<Compile Include="**\*.cs" />
<EmbeddedResource Include="**\*.resx" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Dapper" Version="1.50.2" />
<PackageReference Include="NETStandard.Library" Version="1.6.1" />
</ItemGroup>
</Project>
Ничто из Dapper не будет подвергаться в общественном API, так что кажется, что я должен держать его в качестве частной детали реализации. Но при создании тестового .nupkg и ссылки на него из приложения .NET Framework Console приложение получает ссылку на Dapper.
Это полезно, потому что это делает скрыть зависимость, но при выполнении 'MSBuild/т: пак' я не вижу Dapper сборки или что-нибудь еще о Dapper в .nupkg. Поиск PrivateAssets привел меня к [этой ссылке] (https://github.com/NuGet/Home/wiki/PackageReference-Specification), которая, похоже, может быть полезна. Это мой первый раз, когда я пытаюсь сделать пакет NuGet, так что, возможно, мне не хватает чего-то очевидного. – user1676558
Я думаю, что тогда время выполнения может быть подходящим для вас. –