无法导航到插入符号下的符号

时间:2019-04-10 19:37:02

标签: asp.net webforms visual-studio-2019

我们刚刚迁移到vs2019,当我们尝试使用F12 /“转到定义”时,我们得到“无法导航到插入符号下的符号”。 F12似乎适用于在同一文件内定义的变量,但是在尝试转到不同项目中的定义时失败。

这仅在同一解决方案中的某些项目上发生。工作中的项目和非工作中的项目都具有4.7.2的目标框架。

所有项目仍在正确编译,据我们所知这是唯一的症状。

我尝试清除符号缓存,删除.vs隐藏文件夹,清理并重建解决方案。删除bin和obj文件夹并重建。但没有运气。

5 个答案:

答案 0 :(得分:1)

更新“管理解决方案的Nuget程序包”中的“ Microsoft.Net.Compilers”。 这对我有用。

答案 1 :(得分:0)

这篇文章使我接近解决方案 https://developercommunity.visualstudio.com/content/problem/505489/cannot-navigate-to-the-symbol-under-the-caret-3.html

不幸的是,我的程序包管理器没有显示“ Microsoft.Net.Compilers”,但是一旦我在文本编辑器中打开了vbproj文件,我便可以删除以下行:

  <Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
  <Import Project="..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" />
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />

答案 2 :(得分:0)

我遇到了同样的问题,这是对我有用的解决方案。

  1. 关闭VS
  2. 以管理员身份重新打开。
  3. 清洁溶液
  4. 重建我的解决方案

在尝试更新nuget软件包之间,我将.net核心nuget软件包更新为2.1

答案 3 :(得分:0)

对我来说,问题是我正在查看一个未添加到相应.csproj中的新文件,因此Visual Studio不知道如何理解我新文件中的引用。

仔细检查您的.csproj是否包含遇到此问题的文件。

答案 4 :(得分:0)

您的编译器需要更新到最新版本。我遇到了同样的问题,这些是我为解决该问题而采取的步骤。

  1. 在解决方案资源管理器中右键单击“参考”

  2. 选择“管理 NuGet 包”

  3. 在“已安装”选项卡下搜索“Microsoft.Net.Compilers”

  4. 选择“Microsoft.Net.Compilers”

  5. 在“Microsoft.Net.Compilers”的侧窗口点击更新按钮