【问题标题】:ReSharper "Remove Unused References" feature does not remove references added through NuGet packagesReSharper“删除未使用的引用”功能不会删除通过 NuGet 包添加的引用
【发布时间】:2016-06-27 05:49:22
【问题描述】:

如何让 ReSharper 的“删除未使用的引用”功能处理通过 NuGet 包添加的引用?

大家好。我正在使用 Visual Studio 2015 处理 C# 中的多项目解决方案。我有一个安装在解决方案中的所有项目上的 NuGet 包(由内部开发的多个通用库组成)。现在,所有项目都引用了包中包含的每个 DLL,而不管项目实际使用的 DLL。这简化了大约 50 个项目的引用管理,因为我可以确定每个项目都有它需要的引用。该计划是随后与 ReSharper 一起删除未使用的引用。不幸的是,它似乎不起作用。

以下是我尝试过的事情:

  • 如果我从参考管理器的程序集列表中添加参考,ReSharper 可以将其删除。
  • 如果我从参考管理器的项目列表中添加参考,ReSharper 可能会也可能不会删除它。
  • 如果我使用参考管理器中的浏览功能添加参考,ReSharper 可能会也可能不会删除它。
  • 如果我通过解决方案或项目的上下文菜单添加 NuGet 包,ReSharper 无法将其删除。
  • 我尝试编辑原始 *.csproj 项目文件以确定在将程序集添加为 NuGet 包的一部分时引用程序集的方式是否有任何特殊差异。我找不到原因;将 NuGet 包中的程序集的 Reference 元素更改为与在 Reference Manager 中通过各种方式添加的完全相同的元素没有产生任何变化。
  • 我尝试编辑并最终删除 packages.config 文件,除了告诉 NuGet 包管理器没有安装任何包外,它什么也没做。我在删除 packages.config 文件后重复编辑 *.csproj 文件,但仍然无效。
  • 在 Visual Studio 的“属性”窗口中试验参考属性时找不到任何原因。
  • 我删除了 ReSharper 缓存,但没有解决问题。
  • 新创建的项目有同样的问题(ReSharper 无法删除 NuGet 包添加的引用)。

这是我的设置:

  • Microsoft Visual Studio Enterprise 2015 - 14.0.24720.00 更新 1
  • NuGet 包管理器 - 3.3.0
  • ReSharper Ultimate - 10.0.2

这是该功能的 ReSharper 帮助页面的链接: https://www.jetbrains.com/resharper/help/Refactorings__Remove_Unused_References.html

我对可能的解决方案没有任何想法,我们将不胜感激。

提前谢谢你!

【问题讨论】:

    标签: visual-studio-2015 nuget resharper nuget-package resharper-10.0


    【解决方案1】:

    它是going to be added in v10.1(又名2016.1),目前处于抢先体验阶段:

    优化引用学习处理 NuGet 引用,这些引用现在显示在与项目包含的所有常规引用相同的工具窗口中。 ReSharper 还添加了一个新的分组来显示可能未使用的引用,这些引用在项目中具有依赖关系,因此不能被认为是多余的。

    【讨论】:

    • 这仍然不起作用。它说它删除了它们,但它们无处可去,我没有收到任何错误或其他消息表明它们必须留下。
    • 我看到的和@StingyJack 一样
    猜你喜欢
    • 2022-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-19
    • 2021-12-30
    • 2020-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多