新样式 csproj 自动显示对 System.Drawing、FileSystem 等的引用

Dav*_*ves 1 .net c# csproj

我已将我的类库更改为新的 csproj 样式,现在我看到下面Assemblies有一些自动添加的引用,我无法删除。它们从哪里来,为什么在那里?

截图示例:

在此输入图像描述

请注意,这不会引起任何问题。看起来很奇怪,很想知道为什么要添加这些。我用谷歌搜索了这个问题,但找不到任何东西

Mar*_*ich 6

添加这些自动引用是为了减少 csproj 文件的大小,以便它们更易于阅读和编辑,并且在 .net 标准/核心和 .net 框架之间进行多目标时不需要特殊的条件引用。

关于添加哪些引用的决定和讨论(请参阅 dotnet/sdk GitHub 存储库的拉取请求)基于:

  • 默认情况下其他现有模板会添加哪些引用(.net 类库、Web 应用程序等)
  • 需要哪些库,以便默认情况下可以使用与 .net 标准中类似的类型集,而无需编辑项目文件。
  • 常用的类型有哪些(http相关类型、绘图原语等)

由于如果不使用引用中的类型,则引用不会发送到构建的程序集中,因此它们不会影响构建的产品。