Residelper代码清理在Unityconfig.cs上不可用

时间:2017-02-24 13:36:25

标签: c# resharper code-cleanup

我正在使用ReSharper 2016.3.2。它很好用,但我遇到了一个奇怪的问题,code cleanup功能不适用于UnityConfig.csRefactor上下文菜单被禁用,清理热键显示以下消息:

  

组合键(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);
}

2 个答案:

答案 0 :(得分:3)

这是因为代码来自nuget包。 ReSharper将禁用作为nuget包一部分的代码中的分析和其他功能,因为它的概念不是用户代码 - 它是第三方,由其他人编写,因此ReSharper不应该适用你的风格。另外,我不确定,但我认为如果更新了nuget包,文件可能会被覆盖。

答案 1 :(得分:0)

我重新启动了visual studio,它解决了这个问题。