【问题标题】:Visual Studio 2015 Enterprise with ReSharper 10 Ultimate -- Cannot be properly resolved带有 ReSharper 10 Ultimate 的 Visual Studio 2015 Enterprise -- 无法正确解决
【发布时间】:2016-04-08 03:19:57
【问题描述】:

我已安装 Visual Studio 2015 Enterprise,版本 14.0.24720.00 Update 1 以及 ReSharper 10 Ultimate,版本 10.0.2。我有一个打字稿文件,它使用 AtScript 语法来引用 Angular2 指令模块,作为它的注释。但是,ReSharper 指出以下错误:

符号“指令”无法正确解析,可能位于无法访问的模块中。

以下是完整的错误提示。

应用程序按预期编译和运行,应用程序的角度部分也可以按预期运行。看起来这是一个 ReSharper 假阴性。是否有人熟悉仅禁用 ReSharper 或忽略警告的解决方法?

【问题讨论】:

    标签: visual-studio typescript resharper atscript


    【解决方案1】:

    如果更新到最新的 ReSharper 版本不起作用并且这只影响 .js(x).ts(x) 文件,您只需暂停这些文件。您可以通过转到 ReSharper -> 选项 -> 取消单击 JavaScript 和 TypeScript 来做到这一点。

    【讨论】:

    • 虽然这不是我的首选解决方案,但我别无选择,只能这样做。没有其他帮助,我尝试了在互联网上找到的许多想法。但是,我更喜欢禁用 ts 文件的代码检查,而不是完全禁用 ts 文件的 Resharper,这样我仍然可以使用代码清理功能。或者更好的是,我刚刚删除了 Inspectiuon Severity 菜单中弹出的一个具体错误。我看到这个错误已报告多年,但希望 JetBrains 在未来的某个补丁中修复它。
    【解决方案2】:

    我在 Visual Studio 2017 的 Resharper 2017.1 上的一个模块上遇到了同样的问题。

    但是在将我的 Resharper 更新到 2017.2.2 之后,问题就解决了。

    【讨论】:

      【解决方案3】:

      这个问题只是最新版本的 ReSharper 的一个错误,如果您暂停 ReSharper,问题就会消失,所有源代码都可以按预期工作。

      更新

      此问题已在 ReSharper 2016.1 版本中得到解决。

      【讨论】:

      • 对于它的价值,这个错误 - 不一定在这个精确的场景中 - 在 2016.2.2 中出现,使用 TS 2.0.3,打开 --strictNullChecks 标志。
      • 我还在 2016.2.2 中使用 TS 2.0.3 看到错误。 Typescript 编译得很好 - 但它抱怨 momentjs。
      • 我在 R# 2016.2.2 和 2016.3 EAP8 中看到它,使用的是 TS 2.0.6。和其他人一样,TS 编译得很好,但 Resharper 抱怨道。我想它是从我打开strictNullChecks 的时候开始的。提交此错误:resharper-support.jetbrains.com/hc/en-us/requests/…
      【解决方案4】:

      可能是 Resharper 问题。从 tools->option->Resharper Ultimate->General->Suspend Now 禁用它,错误将被隐藏。

      【讨论】:

        【解决方案5】:

        截至 2016 年 2 月,该问题已在 ReSharper Ultimate 10.1 EAP 3 中修复

        这个版本还有一些其他的打字稿问题

        原始答案,解释为什么它在以前的版本中不能工作:

        有相同的设置和相同的问题。我坚信这与:“moduleResolution”:“node”

        https://youtrack.jetbrains.com/oauth?state=%2Fissue%2FRSRP-273158

        很遗憾,现在不行了。我们正在努力为下一个 ReSharper 版本提供 node.js 支持。

        【讨论】:

        • 然而,除了新的 Resharper 版本可能没有其他帮助
        • 谢谢,您的回答让我找到了解决方案。您可以在此处下载 R# EAP 版本:confluence.jetbrains.com/display/ReSharper/ReSharper+10.1+EAP
        • 我可以确认这解决了问题...我使用的是 10.1 EAP 7。
        • 我使用的是 10.1 31 Mar EAP8 并没有解决这个问题。
        【解决方案6】:

        作为一种解决方法,如果您使用的是 node_modules 文件夹中的 angular2,那么您可以直接引用它,而不是依赖新的节点模块分辨率。例如你可以这样做:

        import {Directive} from '../../node_modules/angular2/core';
        

        【讨论】:

        • 确实可以解决,但是;我正在寻找一个永久性的解决方案...这会带来什么风险?
        • 如果您移动文件,则需要更新所有导入的相对路径...
        猜你喜欢
        • 2017-02-27
        • 2017-06-24
        • 2015-11-03
        • 2019-05-03
        • 2018-06-03
        • 1970-01-01
        • 2016-02-02
        • 1970-01-01
        • 2016-12-19
        相关资源
        最近更新 更多