为什么ReSharper建议参考它们时不添加NuGet软件包?

时间:2019-06-24 08:24:16

标签: visual-studio nuget resharper

我正在研究具有多个C#项目的解决方案。其中一个项目已经使用了NuGet软件包(例如Newtonsoft),该软件包已在packages.config文件及其csproj文件中正确声明。

在相同解决方案中处理不同项目并引用上述NuGet包中的类/接口时,ReSharper准确地建议将其添加为引用。

但是,当接受此建议时,最终结果是该引用仅添加到csproj文件中,而不添加到packages.config文件中。值得一提的是,我没有使用具有PackageReferences的新csproj格式,并将所有NuGet数据折叠到单个文件中。

在本文中,您可以看到ReSharper确实是一个问题,并且通过插件解决了该问题:

https://blog.jetbrains.com/dotnet/2012/11/20/add-packages-not-references-a-nuget-plugin-for-resharper/#comment-562837

但是,自9.1版以来,此版本已弃用,因为它应该包含在主要的ReSharper产品中:

https://github.com/JetBrains/resharper-nuget#deprecated

PD:我正在使用VisualStudio 2017和ReSharper 2017.2.2。

1 个答案:

答案 0 :(得分:1)

仅发现原因是由于NuGet无法解决安装引用的软件包所需的某些依赖关系,因此ReSharper选择仅将条目添加到csproj文件,而保持packages.config不变。这绝对应该是错误或警告,所以我向JetBrains报告:https://youtrack.jetbrains.net/issue/RSRP-475208