ReSharper"删除未使用的参考文献"功能不会删除通过NuGet包添加的引用

时间:2016-03-11 20:37:36

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

如何获取ReSharper"删除未使用的参考文献"功能来处理通过NuGet包添加的引用?

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

以下是我尝试过的事情:

  • 如果我从参考管理器中的程序集列表中添加引用,ReSharper可以将其删除。
  • 如果我从参考管理器中的项目列表中添加引用,ReSharper可能会也可能不会删除它。
  • 如果我使用References Manager中的“浏览”功能添加引用,则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 Update 1
  • NuGet Package Manager - 3.3.0
  • ReSharper Ultimate - 10.0.2

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

我对可能的解决方案的想法已经不多了,我们将不胜感激。

提前谢谢!

1 个答案:

答案 0 :(得分:4)

它是going to be added in v10.1(a.k.a。2016.1),现在可以提前访问:

  

Optimize References学习处理NuGet引用,这些引用现在显示在与项目包含的所有常规引用相同的工具窗口中。 ReSharper还添加了一个新的分组,以显示可能未使用的引用,这些引用在项目中具有依赖性,因此不能被视为冗余。