我在Visual Studio 2015中創建了一個默認Mail add-in for Office項目。它運行良好。我安裝ReSharper的,給我從Office.js的事情警告和的jquery.js:ReSharper(false?)JavaScript警告
一個ReSharper的代碼編輯的()是添加到文件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));
}
在這一點上,我看到像屏幕截圖中的警告。
我做錯了什麼?是否有更清晰的警告解決方案?
其中R#版本? – ulrichb
無法在R#9.1中重現此操作。剛剛創建了一個新項目(簡單的C#庫)並添加了一個'Microsoft.Office.js'包引用+創建了一個包含'console.log(Office.cast.item.toItemCompose(Office.item.mailbox.item) )'。 R#正確檢測到「Office」引用(與jQuery相同)。 – ulrichb
我可以重複你看到的。事實證明,行爲是通過引用指令並使用函數內的對象觸發的。我在問題中加入了我的版本號和一個簡單的repro案例的說明(遵循你所做的)。 – Vimes