【问题标题】:How to make ReSharper re-evaluate its assembly reference highlighting如何让 ReSharper 重新评估其装配参考突出显示
【发布时间】:2012-04-05 15:28:05
【问题描述】:

我正在创建一个 Prism 项目模板,该模板效果很好。但是在我使用模板创建项目后,一些文件看起来像这样:

尽管看起来,一切都很好。

如果我执行 全部重建,我会看到解决方案的构建没有错误:

但是重新构建并没有消除编辑器窗口中显示的“错误”。 (请注意,实际的错误窗口不会显示任何错误。)

我可以清理、重建、关闭和打开文件,但它不会修复突出显示。

但是,如果我关闭解决方案并重新打开它,一切都很好

我的问题:

理想情况下,我的模板或 IWizard 应该有办法告诉 ReSharper 重新加载引用以进行突出显示。

我知道我可以打开 ReSharper off and then on again 并解决它,但我不想这样做。

是否有仅刷新这些内容的 ReSharper 命令?

【问题讨论】:

  • 你在使用 ReSharper 吗?
  • @JohnSaunders - 是的,5.1
  • 我见过 ReSharper 这样做,所以它可能是 ReSharper 错误,而不是 VS 错误。我最近在 6.1 版中看到了这一点。
  • @JohnSaunders - 我确认这是一个 ReSharper 问题。我编辑了我的问题以将其重新定位到 ReSharper。感谢您为我指明正确的方向!
  • 您在项目中使用的是哪些版本的 Prism、WPF/SL/WinPhone?

标签: visual-studio visual-studio-2010 resharper project-template visual-studio-extensions


【解决方案1】:

除了重新安装,成功清除缓存的唯一方法是从您的 AppData 目录中手动删除文件。

在以下位置删除让您感到悲伤的解决方案文件夹:

  • %LOCALAPPDATA%\JetBrains\ReSharper\v7.1\SolutionCaches\
  • %LOCALAPPDATA%\JetBrains\Transient\ReSharperPlatformVsXX\vXX\SolutionCaches\ 更新版本。

请注意,路径中的版本号可能因安装的 ReSharper 版本而异。

vXXVsXX 中的XX 代表任意数字,因为可能有多个文件夹存储解决方案缓存。

【讨论】:

  • 此路径可能因您的缓存配置而异。 (请参阅 Resharper>选项>常规)
  • 很公平 - 但它确实解决了您面临的问题(而不仅仅是您......)
  • 答案是正确的。关闭所有 Visual Studio 实例,删除 %LOCALAPPDATA%\JetBrains\ReSharper\ [installed_version] \SolutionCaches.
  • @Joel 在 ReSharper 9 中,随着 ReSharper 平台的引入,它已移至 %localappdata%\JetBrains\Transient\ReSharperPlatformVs12\v01\SolutionCaches(如 @brgerner mentions,您可能需要单击 Clear Caches i> 在走这条路线之前先按钮)
  • 无论您的缓存位置如何,您都可以使用 Resharper -> 常规 -> 清除缓存来清除缓存。清除缓存后需要重启 Visual Studio
【解决方案2】:

尝试卸载然后重新加载项目。

要卸载项目,请在解决方案资源管理器中右键单击该项目,然后选择Unload Project。然后,再次右键单击该项目并选择Reload Project

最新版本的 ReSharper 偶尔会继续出现此问题,但该修复似乎适用于每个版本。

【讨论】:

  • 看起来重新加载会导致 resharper 重新扫描。这对我来说似乎比在文件资源管理器中寻找缓存更容易。
【解决方案3】:

您可以尝试通过菜单 ReSharperOptionsEnvironment/General → 按钮 Clear Caches清除 ReSharper 缓存>.

【讨论】:

  • 唉,它仍然没有解决它...不过感谢您的想法。
  • 之后需要重启visual studio。然后它会工作。
  • 对我不起作用,即使在重新启动 Visual Studio 之后也是如此。不过谢谢。
  • 在降级 nuget 包然后再次升级后发生在我身上。使用此提示进行修复。
  • 最好关闭 Visual Studio 然后执行 msbuild yourSolution.sln /t:clean 然后清理所有 resharper 缓存,保存然后重新打开您的解决方案。
【解决方案4】:

这对我有用。无需重新加载项目。您可以在 Visual Studio 中执行此操作。

  1. 通过ReSharper选项常规清除ReSharper缓存,点击“清除缓存”。 p>

  2. ReSharperWindows,选择“解决方案错误”。这将启动解决方案错误窗口。在此窗口的顶部,单击按钮以“重新分析带有错误/警告的文件”。

【讨论】:

  • 使用 R# 10.0.2,无需重启 VS。
  • 这对我有用,虽然我确实必须重新启动 VS
【解决方案5】:

打开 ReSharper - Options - Environment - General,向下滚动到 Msbuild访问并选择每次编译后从msbuild获取数据

这对我有用,将 ReSharper 10.0.1 与 ReSharper Build 结合使用。

【讨论】:

  • 我还清理了解决方案并重建了它。然后我可以在它工作时切换回之前的 Msbuild 访问权限
【解决方案6】:

转到 ReSharper → Windows解决方案错误窗口,您将获得解决方案中错误的概览。在那里,您可以单击按钮 Reanalyze Files With Errors

如果需要,您可以为此分配一个快捷方式。转到工具选项键盘,然后搜索“重新分析”。您可以为“ReSharper_ErrorsView_ReanalyzeAllFiles”或“ReSharper_ErrorsView_ReanalyzeFilesWithErrors”分配键盘快捷键。

【讨论】:

  • 我也遇到了类似的问题,但没有解决。
  • 我也只是厌倦了这个。它没有解决问题。 Resharper 仍然标记了错误,但它编译得很好。卸载并重新加载项目是我能找到的唯一解决方法。 (尽管有人告诉我它已在最新版本的 resharper 中修复)
  • 非常有用!我在 VS 2019 和 Resharper 2019.3 上遇到了同样的问题,但实际上这不是问题。项目构建的事实并不意味着 Resharper 不会发现错误。就我而言,我的 NUnit 项目中的一些 xml 测试文件中存在一些错误。这个解决方案很快找到了文件
【解决方案7】:

我在使用 nuget 包时遇到了类似的问题,我发现了一个最奇怪的解决方法:在项目引用列表中选择引用并按“F4”。 属性窗口外观以某种方式导致 resharper 重新评估可用引用。 ..

【讨论】:

  • 我对所有的“清理缓存”技巧都不满意。然后我尝试了这个,它几乎有帮助。我的解决方法是:找到有问题的项目 - 打开引用 - 选择被 R# 标记为未知的引用 - 按 F4 - 更改属性中的某些内容,例如“将本地从 true 复制到 false,然后返回为真”
  • 我有一个类似的修复。我实际上必须从我的项目中删除引用并重新添加它。其他解决方案都不适合我。
【解决方案8】:

我不确定这是否是相同的根本原因,但我发现,在 ReSharper 选项中,“使用 MsBuild”已被选中,并且报告了各种错误错误。尝试检查“ReSharper->Options->General”并查看“Use MsBuild”检查处于什么状态。

【讨论】:

    【解决方案9】:

    转到 ReSharper → 选项常规,然后单击 清除缓存。 (我有 8.2,所以如果你使用的是不同的版本,它可能在其他地方。)

    然后您需要重新打开您的解决方案,ReSharper 将重新分析所有内容。

    【讨论】:

    • 为我工作,谢谢。我的解决方案中有大量项目,不想一个一个地卸载/重新加载它们:p 不知道你为什么会被否决。
    【解决方案10】:

    在命令提示符下运行以下代码。然后解决 ReSharper 问题...

    del /q/f/s %TEMP%\*
    

    【讨论】:

      【解决方案11】:

      唯一对我有帮助的是:卸载并再次安装 Resharper(修复无效)

      Visual Studio 2010 SP1,ReSharper 7.1.3000.2254

      【讨论】:

        【解决方案12】:

        这是一个奇怪的问题,在 8.2.3 版(内部版本 8.2.3000.5176)中仍然存在并且运行良好。

        似乎对我始终有效的是重新构建解决方案。

        在 VS 2013 中:构建 -> 重建解决方案

        【讨论】:

          【解决方案13】:

          如果上述解决方案不起作用,您可以尝试重置项目输出类型。这似乎解决了带有 ReSharper 10.1 的 VS2015 Update 1 上的问题

          【讨论】:

            【解决方案14】:

            对我来说,以上都不起作用。我必须安装支持 NET Core 2.0 的新版 Resharper。

            【讨论】:

              【解决方案15】:

              Resharper 报告了参考中包含的项目缺少参考。在尝试了这里的其他解决方案后,我通过指令this answer 禁用了 Resharper,我发现 Visual Studio 的智能感知仍然报告相同的错误。

              此时,我意识到项目文件可能有问题。我怀疑一个引用在合并过程中被巧妙地破坏了。1

              我删除了它抱怨找不到的引用并重新添加了它。 Visual Studio 中的错误消失了。然后我重新启用了 Resharper,它不再抱怨我的项目中的错误。


              1. 当我查看 csproj 文件中发生了哪些变化时,我发现一个额外的 </Compile> 没有相应的打开标记。所以这确实是一个合并错误。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2023-03-29
                • 1970-01-01
                • 2010-09-18
                • 2020-01-20
                • 1970-01-01
                • 2014-07-25
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多