Zum Beispiel, hier ist mein CSPROJ jetzt:Wie kann ich bei der Erstellung einer .NET-Standardklassenbibliothek in VS 2017 RC Paketreferenzen als private Implementierungsdetails beibehalten?
<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>
Nichts von Dapper wird in der öffentlichen API ausgesetzt werden, so dass es scheint, wie ich es als eine private Implementierung Detail halten sollte. Wenn Sie jedoch einen Test .nupkg erstellen und von einer .NET Framework-Konsolenanwendung aus darauf verweisen, erhält die App einen Verweis auf Dapper.
Dies ist nützlich, weil es die Abhängigkeit tut verstecken, aber wenn dabei 'msbuild/t: pack' Ich sehe nicht, Dapper Baugruppen oder irgendetwas anderes zu Dapper im .nupkg. Die Suche nach PrivateAssets führte mich zu [diesem Link] (https://github.com/NuGet/Home/wiki/PackageReference-Specification), das scheint, als könnte es nützlich sein. Das ist das erste Mal, dass ich versuche, ein NuGet-Paket zu machen, also vermisse ich vielleicht etwas Offensichtliches. – user1676558
Ich denke, dann Laufzeit, könnte der geeignete Wert für Sie sein. –