使用 .NET Core csproj VS 2017 工具最小化引用

Muh*_*eed 5 msbuild csproj .net-core asp.net-core visual-studio-2017

我有发布到 NuGet 的 .NET Core 类库。将它们升级到 VS 2017 csproj 格式后,它们具有以下签名。

<Project Sdk="Microsoft.NET.Sdk">
  ...
</Project>
Run Code Online (Sandbox Code Playgroud)

添加Microsoft.NET.Sdk似乎添加了对一组基本库的引用。但是,作为图书馆作者本人,我可能只想引用最少的引用集。这是否仍然正确,如果是,如何实现?

看看 ASP.NET Core 和 Entity Framework Core 项目,它们似乎使用Microsoft.NET.Sdk而不是单独选择它们需要的包。

更新

我在 GitHub 上提出了问题dotnet/cli #5994,@davidfowl 说:

新指南是始终作为包作者引用 NETStandard.Library。

但是,他没有详细说明为什么?

Eri*_*rdt 4

您可以设置

<PropertyGroup>
    <DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

在你的 .csproj 中。这告诉 SDK 不要隐式引用 NETStandard.Library 或 Microsoft.NETCore.App。