2015-08-21 3 views
0

Я создал проект Mail add-in for Office по умолчанию в Visual Studio 2015. Он работает нормально. Я установил ReSharper и дает мне предупреждения о вещах из Office.js и jquery.js:ReSharper (false?) Предупреждения JavaScript

screenshot screenshot

Один из ReSharper кода правок (hammer icon) является добавление в начало файла reference directives (например, /// <reference path="~/Scripts/_officeintellisense.js" />). Если я добавлю правильные, предупреждения исчезнут. Но я не хочу добавлять код, чтобы заставить ReSharper работать правильно. Non-ReSharper IntelliSense находит свойства/переменные, и приложение работает нормально, поэтому я думаю, что они ложные предупреждения.

Я запускаю 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' + создал файл .js, содержащий' console.log (Office.cast.item.toItemCompose (Office.item.mailbox.item)) '. R # правильно определяет ссылку «Office» (то же самое с jQuery). – ulrichb

+0

Я могу воспроизвести то, что вы видите. Оказывается, что поведение запускается с помощью эталонной директивы и использования объектов внутри функций. Я добавил к вопросу номер моей версии и инструкции для простого примера воспроизведения (следуя тому, что вы сделали). – Vimes

ответ

0

Вместо лучшего ответа, я известкование предупреждения до:

  • ReSharper только обнаруживает зависимости от ползающих директивы
  • хранятся справочные
  • ReSharper показывает только ошибки внутри функции. Это похоже на ошибку.

На данный момент я работаю над проблемой, включив ссылку-директиву в _references.js и убедившись, что она ссылается на библиотеки, о которых идет речь.

Если у кого-то другой ответ, я открыт.

Смежные вопросы