【问题标题】:Why ReSharper doesn't add NuGet packages when it suggests to reference them?为什么 ReSharper 在建议引用 NuGet 包时不添加它们?
【发布时间】:2019-11-06 00:34:49
【问题描述】:

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

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

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

在这篇文章中,你可以看到这其实是前段时间 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。

【问题讨论】:

  • 在我看来这是一个应该报告给 JetBrains 的错误。

标签: visual-studio nuget resharper


【解决方案1】:

刚刚发现原因是由于 NuGet 无法解析安装引用包所需的某些依赖项,因此 ReSharper 选择仅将条目添加到 csproj 文件中,而将 packages.config 保持不变。这肯定是一个错误或警告,所以我将其报告给 JetBrains:https://youtrack.jetbrains.net/issue/RSRP-475208

【讨论】:

  • 您好朋友,感谢您的分享,请将您的回复标记为答案,这将有助于其他社区成员更轻松地搜索此有用信息,这只是一个提醒:)
猜你喜欢
  • 1970-01-01
  • 2019-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-06
  • 1970-01-01
相关资源
最近更新 更多