Краткая информация: не отображаются возможные исключения для некоторых проектов

Я всегда мог навести курсор на методы в своем коде C#, и список возможных исключений отображается на панели быстрой информации в сообществе Visual Studio 2015 — на самом деле это работало вчера и сегодня утром.

Однако сегодня днем ​​после установки Visual Studio 2017 RC я больше не вижу этот список исключений в двух моих проектах (как в VS2015, так и в VS2017).

С другими моими проектами все в порядке, и я буквально понятия не имею, с чего начать с этого. Нужно ли что-то проверять в свойствах моего проекта или в самом файле .csproj?

Кто-нибудь знает, почему это может происходить?

Я установил все обновления для VS2015.


person Bassie    schedule 16.01.2017    source источник


Ответы (2)


Раньше это было проблемой с ранними версиями VS2015, и она была устранена в Vs2015 Update 1.

Я предлагаю вам попробовать переустановить обновление 1 для VS2015.

VS 2015 IntelliSense: исключения, созданные без предварительного просмотра

person Ian    schedule 16.01.2017
comment
Но почему это повлияет только на пару моих проектов? Конечно, если бы проблема была с обновлением 1, то ни один из моих проектов не отображал бы список исключений. Это также не объясняет, почему VS2017RC дает мне ту же проблему. - person Bassie; 16.01.2017
comment
Вы, безусловно, поняли здесь. Скорее всего, это была проблема синтаксического анализа в VS2015, которая, безусловно, зависела от нескольких обстоятельств. - person Ian; 16.01.2017
comment
Знаете ли вы, как я могу переустановить обновление 1 самостоятельно, не переустанавливая весь VS? - person Bassie; 16.01.2017
comment
Может просто установить поверх? - person Ian; 16.01.2017
comment
Спасибо за ваш ответ и комментарии Ян - я нашел решение проблемы и создал новый ответ. Надеюсь, это поможет кому-то еще в будущем! - person Bassie; 16.01.2017

Похоже, что этот список исключений не отображается для проектов, ориентированных на платформу .Net-3.5 и ниже (я могу увидеть список исключений, когда проект нацелен на .Net-3.5 Client Profile)

Это сбивало меня с толку, потому что я изначально скопировал код из проекта .Net-4.5, который отображал список исключений, в проект, нацеленный на .Net-3.5, и я не думал, что это повлияет на задокументированные исключения.

Щелкнув по методу и нажав F12 (или щелкнув правой кнопкой мыши и выбрав View Definition), я вижу следующее:

.Net-3.5

public static void WriteLine(string value);

.Net-4.0

//
// Summary:
//     Writes the specified string value, followed by the current line terminator, to
//     the standard output stream.
//
// Parameters:
//   value:
//     The value to write.
//
// Exceptions:
//   T:System.IO.IOException:
//     An I/O error occurred.
public static void WriteLine(string value);

Таким образом, кажется, что документация XML для .Net-3.5 просто не включает эти детали исключений.

Мне не удалось найти никакой другой информации об этом, поэтому я не совсем уверен, почему детали исключены, когда одни и те же исключения могут быть вызваны независимо от версии фреймворка.

person Bassie    schedule 16.01.2017