Visual Studio 2015 Enterprise with ReSharper 10 Ultimate -- 无法正确解析

Visual Studio 2015 Enterprise with ReSharper 10 Ultimate -- Cannot be properly resolved

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

Symbol 'Directive' cannot be properly resolved, probably it is located in inaccessible module.

下面是完整的错误提示。

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

自 02/2016 起,问题在 ReSharper Ultimate 10.1 EAP 3 已修复

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

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

具有相同的设置和相同的问题。我坚信这与以下内容有关:"moduleResolution": "node"

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

Unfortunately, no way now. We're working on node.js support for the next ReSharper version.

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

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

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

更新

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

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

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

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

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