visual-studio - 打开文件时 Intellisense 警告消失/出现
问题描述
出现两个单独的问题;不确定它们是否是相同的根本原因,现在进入一个问题。
我正在尝试将项目升级到 C#8 并使用可为空的引用类型。因此,在 .csproj 中,我将以下内容放入每个<PropertyGroup>...</PropertyGroup>
组中:
<LangVersion>8</LangVersion>
<Nullable>enable</Nullable>
<WarningsAsErrors>CS8600;CS8601;CS8602;CS8603;CS8604</WarningsAsErrors>
然后,我检查并替换了 ReSharper[CanBeNull]
的可为空类型。
现在,当我编译时,我得到了一堆错误和警告——CS8603、CS8601、CS8604、CS8614 等。
我的错误列表配置为显示“Build + Intellisense”。当我通过双击其中一个错误打开文件时,半秒钟 t 正确显示,为错误给出红色下划线 - 然后错误消失(来自错误列表和编辑器本身的下划线),有时会出现 CS8632 警告。将错误列表更改为“仅构建”将使错误再次正确显示,但仅在错误列表中 - 而不是在编辑器的错误突出显示中。
所以,我的问题:
- 如何使错误突出显示不会消失?
- 如何让 CS8632 不显示?我对这个问题的理解是,将 .csproj 添加
<Nullable>enable</Nullable>
到 .csproj 应该可以做到这一点。
我正在使用 VS2019 并且 .csproj 是一个 .NET Framework 4.7.2 类库,如果相关的话。
解决方案
推荐阅读
- c# - Selenium webdriver C#:无法识别 HTML 表单标签内的按钮元素
- angular - 如何检查Angular2中加载的元素?
- c++ - 优先队列模板推送功能
- datepicker - Vuejs2 - vue2-datepicker 中的日期格式问题
- javascript - 如何将鼠标事件附加到隐藏的 SVG 元素?
- mysql - 如何使用表中的主键属性将值插入到sql中的多值属性?
- java - Firebase 数据库,如何用数据库节点的内容填充 Spinner?
- c# - 通过 DI 在 Singleton 中调用 .NET Core Scoped
- swift - (Swift) UITableView - 尝试将索引路径移动到不存在的索引路径
- react-native - 在 React Native 中更改 Picker 占位符对齐方式