ReSharper "Remove Unused References" 功能不会删除通过 NuGet 包添加的引用
ReSharper "Remove Unused References" feature does not remove references added through NuGet packages
如何让 ReSharper 的 "Remove Unused References" 功能处理通过 NuGet 包添加的引用?
大家好。我正在使用 Visual Studio 2015 来处理 C# 中的多项目解决方案。我有一个 NuGet 包(由内部开发的多个公共库组成)安装在解决方案中的所有项目上。所有项目现在都引用包中包含的每个 DLL,而不管项目实际使用的 DLL。这简化了对大约 50 个项目的参考管理,因为我可以确定每个项目都有它需要的参考。计划是随后使用 ReSharper 删除未使用的引用。不幸的是,它似乎不起作用。
以下是我尝试过的东西:
- 如果我从引用管理器的程序集列表中添加引用,ReSharper 可以删除它。
- 如果我从引用管理器的项目列表中添加引用,ReSharper 可能会也可能不会删除它。
- 如果我使用引用管理器中的浏览功能添加引用,ReSharper 可能会也可能不会删除它。
- 如果我在解决方案或项目上通过上下文菜单添加 NuGet 包,ReSharper 无法删除它。
- 我尝试编辑原始 *.csproj 项目文件以确定在将程序集添加为 NuGet 包的一部分时引用程序集的方式是否有任何特殊差异。我找不到原因;将来自 NuGet 包的程序集的引用元素更改为看起来与通过各种方式在引用管理器中添加的元素完全一样,但没有产生任何变化。
- 我尝试编辑并最终删除 packages.config 文件,该文件除了告诉 NuGet 包管理器没有安装任何包外什么也没做。删除packages.config文件后,我再次编辑*.csproj文件,还是不行。
- 在 Visual Studio 的属性 window 中尝试引用属性时,我找不到任何原因。
- 我删除了 ReSharper 缓存,但没有解决问题。
- 新创建的项目有同样的问题(ReSharper 无法删除 NuGet 包添加的引用)。
这是我的设置:
- Microsoft Visual Studio 企业版 2015 - 14.0.24720.00 更新 1
- NuGet 包管理器 - 3.3.0
- ReSharper 终极版 - 10.0.2
这里是 link ReSharper 帮助页面的功能:
https://www.jetbrains.com/resharper/help/Refactorings__Remove_Unused_References.html
我 运行 想不出可能的解决方案,如有任何帮助,我们将不胜感激。
提前致谢!
它是 going to be added in v10.1 (a.k.a. 2016.1),现在处于抢先体验阶段:
Optimize References learns to handle NuGet references that are now displayed in the same tool window as all the regular references that a project contains. ReSharper also adds a new grouping to show possibly unused references that have dependencies in the project, and thus cannot be considered redundant.
如何让 ReSharper 的 "Remove Unused References" 功能处理通过 NuGet 包添加的引用?
大家好。我正在使用 Visual Studio 2015 来处理 C# 中的多项目解决方案。我有一个 NuGet 包(由内部开发的多个公共库组成)安装在解决方案中的所有项目上。所有项目现在都引用包中包含的每个 DLL,而不管项目实际使用的 DLL。这简化了对大约 50 个项目的参考管理,因为我可以确定每个项目都有它需要的参考。计划是随后使用 ReSharper 删除未使用的引用。不幸的是,它似乎不起作用。
以下是我尝试过的东西:
- 如果我从引用管理器的程序集列表中添加引用,ReSharper 可以删除它。
- 如果我从引用管理器的项目列表中添加引用,ReSharper 可能会也可能不会删除它。
- 如果我使用引用管理器中的浏览功能添加引用,ReSharper 可能会也可能不会删除它。
- 如果我在解决方案或项目上通过上下文菜单添加 NuGet 包,ReSharper 无法删除它。
- 我尝试编辑原始 *.csproj 项目文件以确定在将程序集添加为 NuGet 包的一部分时引用程序集的方式是否有任何特殊差异。我找不到原因;将来自 NuGet 包的程序集的引用元素更改为看起来与通过各种方式在引用管理器中添加的元素完全一样,但没有产生任何变化。
- 我尝试编辑并最终删除 packages.config 文件,该文件除了告诉 NuGet 包管理器没有安装任何包外什么也没做。删除packages.config文件后,我再次编辑*.csproj文件,还是不行。
- 在 Visual Studio 的属性 window 中尝试引用属性时,我找不到任何原因。
- 我删除了 ReSharper 缓存,但没有解决问题。
- 新创建的项目有同样的问题(ReSharper 无法删除 NuGet 包添加的引用)。
这是我的设置:
- Microsoft Visual Studio 企业版 2015 - 14.0.24720.00 更新 1
- NuGet 包管理器 - 3.3.0
- ReSharper 终极版 - 10.0.2
这里是 link ReSharper 帮助页面的功能: https://www.jetbrains.com/resharper/help/Refactorings__Remove_Unused_References.html
我 运行 想不出可能的解决方案,如有任何帮助,我们将不胜感激。
提前致谢!
它是 going to be added in v10.1 (a.k.a. 2016.1),现在处于抢先体验阶段:
Optimize References learns to handle NuGet references that are now displayed in the same tool window as all the regular references that a project contains. ReSharper also adds a new grouping to show possibly unused references that have dependencies in the project, and thus cannot be considered redundant.