2015-08-21 98 views
0

我在Visual Studio 2015中創建了一個默認Mail add-in for Office項目。它運行良好。我安裝ReSharper的,給我從Office.js的事情警告和的jquery.js:ReSharper(false?)JavaScript警告

screenshot screenshot

一個ReSharper的代碼編輯的(hammer icon)是添加到文件reference directives頂部(如/// <reference path="~/Scripts/_officeintellisense.js" />)。如果我加上正確的,警告就會消失。但我不想添加代碼來讓ReSharper正常工作。非ReSharper智能感知查找屬性/變量和應用程序運行良好,所以我認爲他們是錯誤的警告。

我正在運行ReSharper 9.2,Visual Studio 2015社區。

當項目中存在對另一個.js文件的引用指令並且在函數定義中使用了Office/jQuery對象時,會發生該問題(請不要在函數外部直接在文件中看到用法警告定義)。

一個簡單的攝製情況:創建一個「類庫(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)); 
} 

在這一點上,我看到像屏幕截圖中的警告。

我做錯了什麼?是否有更清晰的警告解決方案?

+0

其中R#版本? – ulrichb

+0

無法在R#9.1中重現此操作。剛剛創建了一個新項目(簡單的C#庫)並添加了一個'Microsoft.Office.js'包引用+創建了一個包含'console.log(Office.cast.item.toItemCompose(Office.item.mailbox.item) )'。 R#正確檢測到「Office」引用(與jQuery相同)。 – ulrichb

+0

我可以重複你看到的。事實證明,行爲是通過引用指令並使用函數內的對象觸發的。我在問題中加入了我的版本號和一個簡單的repro案例的說明(遵循你所做的)。 – Vimes

回答

0

代替一個更好的答案的,我粉化的警告達:

  • ReSharper的只是爬行參考指令
  • ReSharper的只顯示內部功能的錯誤發現的依賴關係。這看起來像一個錯誤。

現在,我周圍的問題,通過包括參考指令_references.js,並確保它引用庫問題的工作。

如果有人有不同/更好的答案,我是開放的。