i有.net核心类库,我发布到nuget。将它们升级到VS 2017 CSPROJ格式后,它们具有以下签名。
<Project Sdk="Microsoft.NET.Sdk">
...
</Project>
添加Microsoft.NET.Sdk
似乎将引用添加到了库的基础集中。但是,作为我自己的图书馆作者,我可能只想参考最低参考集。这仍然是真的,如果是这样,怎么能实现?
查看ASP.NET核心和实体框架核心项目,它们似乎使用Microsoft.NET.Sdk
,并且不单独选择所需的软件包。
update
我在github上提出了dotnet/cli#5994,@davidfowl说:
新指南是参考NetNatconard.Library始终作为包装作者。
但是,他没有详细介绍为什么?
您可以设置
<PropertyGroup>
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
</PropertyGroup>
在您的.csproj中。这告诉SDK不要参考NetStandstard.library或Microsoft.netcore.app。