ReSharper(错误?)JavaScript 个警告

ReSharper (false?) JavaScript warnings

我在 Visual Studio 2015 年创建了一个默认的 Mail add-in for Office 项目。它运行良好。我安装了 ReSharper 并向我发出有关 Office.js 和 jQuery.js:

的警告

ReSharper 代码编辑之一 () 是添加到文件顶部 reference directives(例如 /// <reference path="~/Scripts/_officeintellisense.js" />)。如果我添加正确的,警告就会消失。但我不想添加代码只是为了让 ReSharper 正常工作。非 ReSharper IntelliSense 找到 properties/variables 并且应用程序运行良好,所以我认为它们是错误警告。

我是 运行 ReSharper 9.2,Visual Studio 2015 社区。

当项目中存在对另一个 .js 文件的引用指令并且函数定义中使用了 Office/jQuery 对象时(不要直接在文件中看到有关使用的警告,在函数定义之外)。

一个简单的重现案例: 创建一个 "Class Library (Visual C#)" 项目,安装 Microsoft.Office.js NuGet 包,创建 JavaScript1.js 和 JavaScript2.js,并在前者中加入如下代码:

/// <reference path="JavaScript2.js" />

function foo() {
    console.log(Office.cast.item.toItemCompose(Office.item.mailbox.item));
}

此时我看到了类似于屏幕截图中的警告。

我是不是做错了什么?是否有更清晰的警告解决方案?

为了代替更好的答案,我将警告归为:

  • ReSharper 仅通过爬取引用指令来发现依赖关系
  • ReSharper 只显示函数内部的错误。这似乎是一个错误。

目前,我正在通过向 _references.js 添加一个引用指令并确保它引用有问题的库来解决这个问题。

如果有人有 different/better 答案,我愿意。