В ближайшем окне VS 2017 отображается «Внутренняя ошибка в компиляторе C #» - PullRequest
0 голосов
/ 26 апреля 2018

Я использую Visual Studio 2017 (15.6.6). При отладке я пытаюсь оценить простые выражения, такие как int a = 2; в ближайшем окне. Ошибка

Внутренняя ошибка в компиляторе C #

брошен.

Я пытался включить Use Managed Compatibility Mode, как намекалось в этом вопросе , но это не помогло.

Спасибо за любую помощь.

Ответы [ 5 ]

0 голосов
/ 03 мая 2019

У меня такая же ошибка при работе с собственным пакетом NuGet. В моем случае VS разрешает путь к копии моей сборки в папке «% userprofile% .nuget» вместо выходной папки сборки.

В настоящее время я не знаю, как предотвратить это неправильное разрешение для новых типов проектов, где для ссылок не указана подсказка, но есть простой обходной путь: просто удалите распакованную копию пакета из %userprofile%\.nuget\packages\%yourpackage% перед отладкой.

0 голосов
/ 29 августа 2018

В моем случае проблема возникла в конкретной сборке. Когда мы посмотрели информацию о сборке (в обозревателе решений щелкните правой кнопкой мыши проект, выберите «Свойства», затем нажмите «Сборка информации»), все было пустым.

Итак, мы дали ему Guid, затем пересобрали, и он заработал.

0 голосов
/ 19 июня 2018

У меня была такая же проблема. Не знаю, если это ваш выбор, но для меня это была следующая проблема: вместо версии «Отладка» был включен «Релиз». Поэтому, как только я вернулся к отладке, я избавился от этой ошибки.

0 голосов
/ 28 августа 2018

Очистка каталога C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files решила проблему для меня. Я постараюсь построить репо, если проблема появится снова ...

0 голосов
/ 26 апреля 2018

В процессе поиска я обнаружил эту проблему на GitHub , где в ответе также рекомендуется проверить Use the legacy C# and VB expression evaluators. Visual Studio предупреждает меня о проверке этой опции, но, включив ее, я снова могу вычислять выражения в ближайшем окне.

Можно даже снова отключить Use Managed Compatibility Mode.

Обновление: Обратите внимание, что использование устаревших оценщиков выражений не позволяет мне проверять локальные переменные во время отладки, поэтому я бы не назвал это решением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...