#asp.net #webforms #visual-studio-2019
#asp.net #веб-формы #visual-studio-2019
Вопрос:
мы только что перешли на vs2019, и когда мы пытаемся использовать F12 / «Перейти к определению», мы получаем «Не удается перейти к символу под кареткой». F12, похоже, работает для переменных, которые определены внутри одного файла, но не удается при попытке перейти к определениям, которые находятся в другом проекте.
Это происходит только в некоторых проектах внутри одного и того же решения. как рабочие, так и нерабочие проекты имеют одинаковую целевую структуру 4.7.2.
все проекты по-прежнему компилируются должным образом, и, насколько мы можем судить, это единственный признак.
Я попытался очистить кэш символов, удалить папку .vs hidden, очистить и перестроить решения. удаление папок bin и obj и восстановление. но не повезло.
Комментарии:
1. похоже, ошибка, которая отслеживается здесь: developercommunity.visualstudio.com/content/problem/524877 /…
Ответ №1:
Обновите «Microsoft.Net.Compilers» в разделе Управление пакетами Nuget для решения. У меня это сработало.
Комментарии:
1. Перешел с 1.0.0 на 2.10, и это устранило мою проблему.
Ответ №2:
Этот пост приблизил меня к решению https://developercommunity.visualstudio.com/content/problem/505489/cannot-navigate-to-the-symbol-under-the-caret-3.html
к сожалению, мой менеджер пакетов не показывал «Microsoft.Net.Compilers», но как только я открыл файлы vbproj в текстовом редакторе, я смог удалить следующие строки:
<Import Project="..packagesMicrosoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0buildMicrosoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..packagesMicrosoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0buildMicrosoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="..packagesMicrosoft.Net.Compilers.1.0.0buildMicrosoft.Net.Compilers.props" Condition="Exists('..packagesMicrosoft.Net.Compilers.1.0.0buildMicrosoft.Net.Compilers.props')" />
<Import Project="$(MSBuildExtensionsPath)$(MSBuildToolsVersion)Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)$(MSBuildToolsVersion)Microsoft.Common.props')" />
Ответ №3:
У меня такая же проблема, вот решение, которое сработало для меня.
- Закройте VS
- Снова откройте как администратор.
- Очистите решение
- Перестройте мое решение
В промежутках между попытками обновления пакета nuget я обновил свой пакет .net core nuget до версии 2.1
Ответ №4:
Для меня проблема заключалась в том, что я просматривал новый файл, который не был добавлен в соответствующий .csproj, поэтому Visual Studio не знала, как разобраться со ссылками, расположенными в моем новом файле.
Дважды проверьте, что ваш .csproj содержит файл, в котором вы столкнулись с этой проблемой.
Ответ №5:
Ваш компилятор должен быть обновлен до последней версии. У меня была такая же проблема, и это шаги, которые я предпринял для ее решения.
-
Щелкните правой кнопкой мыши «Ссылки» в обозревателе решений
-
Выберите «Управление пакетами NuGet»
-
На вкладке «Установлено» найдите «Microsoft.Net.Compilers»
-
Выберите «Microsoft.Net.Compilers»
-
В боковом окне «Microsoft.Net.Compilers» нажмите кнопку обновить