c# - 无效的 Intellisense 错误 CS0103 ASP.NET 网站“当前上下文中不存在该名称”
问题描述
我有一个很大的 ASP.NET 网站(所以没有 Designer.cs 文件),我最近将其从 VS2012 转换为 VS2017。现在在 VS2017 中出现了几十个 Intellisense 错误,例如
CS0103 The name 'DDLxyz' does not exist in the current context
CS0103 The name 'CBxyz' does not exist in the current context
出现在错误列表中。这些并没有出现在 VS2012 中。这些不是真正的错误,而是无效的 Intellisense 错误,我知道这是因为
a) 该网站有效。所有“不存在”的控件都可以完美运行。
b) 当我选择过滤器“Build only”时,错误从错误列表中消失,当我选择过滤器“Build + Intellisense”时,它们会出现。
c) 奇怪但真实:当我在错误列表中双击此类错误时,相应的 aspx.cs 文件会在 VisualStudio 中打开,此后不久,有关此文件的错误将从列表中消失,文件中的红色波浪线也消失了. 所以不知何故 VS 必须知道所有这些错误都是无效的。
我从其他类似的问题中得到了什么:
关闭并重新打开 VS,清理解决方案,重建无济于事。相反:当我通过应用上面的 (c) 点使错误消失并执行干净的解决方案并重建时,错误再次出现。有时。
解决方法建议在错误列表中使用“仅构建”过滤器。这行得通,但我不满意。我想显示其他 Intellisense 错误。
解决方法建议通过过滤器选项禁用错误 CS0103。我发现在我的 VS2017 v 15.9.14 版本中没有办法做到这一点。我发现无法在网站项目中仅禁用 CS0103。过滤器选项仅显示“错误、警告、消息”,但不显示单个错误编号。
(如果可能的话,我不会太喜欢这个解决方案,因为可能会过滤掉这类真正的错误。但我仍然会采用这种解决方法。)有些人建议重建designer.cs 文件。但这是一个网站项目,根本没有designer.cs文件。
我不希望这些无效错误出现在错误列表中。
如果没有其他方法,我也会使用关闭此项目的所有 CS0103 错误的可能性。
解决方案
假设您的 VS2012 和 VS2017 在同一台机器上。
你可以试试:
1.导航到存在的文件夹WebsiteName.sln
,因为它是在VS2012中创建的,所以该目录下应该有一个xx.suo文件。而且你在VS2017中打开后,还会有一个隐藏 .vs
文件夹。
2.关闭所有VS实例,删除.vs文件夹和xx.suo文件
3.清理VS缓存。C:\users[USER]\AppData\Local\Microsoft\VisualStudio\12.0 and C:\users[USER]\AppData\Roaming\Microsoft\VisualStudio\12.0
. 我还删除了 VS2017 的 15.0,然后重新打开 vs 检查此问题是否消失。
推荐阅读
- r - 使用重新构造()后更新 nlme 模型
- ruby-on-rails - 如何覆盖 Grape API 响应负载中的根密钥?
- python - Flask-Migrate creating foreign key with None for no apparent reason
- arrays - 如何在 Swift 中使用函数数组
- jmeter - Why is JMeter showing an undefined variable error in the response body even if the web page is working properly if I run it manually?
- kubernetes - 如何获取 kubernetes 服务的 FQDN DNS 名称?
- hy - Hy 代码是否需要缩进,就像 Python 一样?
- api - How to correctly implement REST API when using custom filter
- eclipse - Eclipse 中的“Gradle --> Refresh Gradle Project”删除了类路径条目
- swift - 如何在地图视图中创建多个自定义注释?