当前位置 : 主页 > 编程语言 > c语言 >

vb.net – Option Strict Intellisense错误但编译得很好

来源:互联网 收集:自由互联 发布时间:2021-06-24
我刚买了一台新工作的PC,并且正在将解决方案从VS15转移到17. 当我编辑现有的源文件时,我收到了一些与option strict相关的错误,其中包括: Option Strict On requires all variable declarations to have
我刚买了一台新工作的PC,并且正在将解决方案从VS15转移到17.

当我编辑现有的源文件时,我收到了一些与option strict相关的错误,其中包括:

Option Strict On requires all variable declarations to have an 'As' clause
Option Strict On disallows implicit conversions from 'Object' to 'Integer'
Option Strict prohibits operands of type Object for operator '-'
Option Strict On disallows late binding

除此之外,我收到有关未找到System类的错误,例如Attribute,NotImplementedException等.

对项目中的所有解决方案关闭Option Strict选项.

与Object to Integer相关的错误是由循环中的i变量引起的,其中for行也有关于不允许后期绑定的错误.

我已经尝试删除解决方案中的vs文件夹,但它没有任何区别.

该项目编译没有问题.如何修复Intellisense错误?

我认为Visual Studio 15.5中的.suo文件(或sqlite3文件)和VB.NET存在问题.

手动删除.suo文件甚至完整的.vs项目子文件夹都无法解决问题.

您需要打开解决方案,转到我的项目 – >属性 – >引用.

您将看到底部的导入命名空间都未选中.

滚动到系统并启用它(鼠标双击或空格).

你可能会收到一个异常“索引超出了数组的范围”.只是忽略它,但现在应该解决智能感知问题.

您必须为每个加载了解决方案的VB.NET项目执行此操作.

这是我发现的唯一解决方法.我希望他们能在下一个版本中修复它.

另一种解决方法:禁用并行项目初始化

我在Visual Studio反馈页面(https://developercommunity.visualstudio.com/content/problem/160241/errors-reported-when-none-exist.html)中找到了另一种解决方法. Peter van den Berge的致谢.

取消选中“允许并行项目初始化”选项(工具>选项>项目和解决方案>常规).重新打开解决方案.

网友评论