我正在使用ReSharper 2016.3.2
。它很好用,但我遇到了一个奇怪的问题,code cleanup
功能不适用于UnityConfig.cs
。 Refactor
上下文菜单被禁用,清理热键显示以下消息:
组合键(Ctrl + E,Ctrl + C)绑定到当前不可用的命令(ReSharper_CleanupCode)。
我查看了ReSharper设置,Elements to skip
块为空,它们存在(搜索和导航,代码检查设置)。
如果我重命名文件,清理选项可以正常工作。对于其他...Config.cs
文件,清理选项也可正常工作,因此似乎忽略了这个特定的文件名。
我的问题是:我在哪里可以禁用此行为?
更新
该文件用于配置DI容器,该容器来自Unity Nuget。
内容非常简单,这是一个骨架:
public static void Configure(HttpConfiguration httpConfig)
{
var container = new UnityContainer();
//register components
var unityServiceLocator = new UnityServiceLocator(container);
ServiceLocator.SetLocatorProvider(() => unityServiceLocator);
httpConfig.DependencyResolver = new UnityDependencyResolver(container);
}
答案 0 :(得分:3)
这是因为代码来自nuget包。 ReSharper将禁用作为nuget包一部分的代码中的分析和其他功能,因为它的概念不是用户代码 - 它是第三方,由其他人编写,因此ReSharper不应该适用你的风格。另外,我不确定,但我认为如果更新了nuget包,文件可能会被覆盖。
答案 1 :(得分:0)
我重新启动了visual studio,它解决了这个问题。