为什么Visual Studio可以检测到哪个“;使用“;是必需的,但随后表示引发添加引用的类型或类不存在

本文关键字:表示 不存在 类型 添加 引用 检测 Studio Visual 使用 为什么 | 更新日期: 2023-09-27 18:20:41

在尝试构建时,突然(自从我参与这个项目以来的几天)我得到了:

"类或命名空间'OpenNETCF'中不存在类型或命名空间名称'IO'(是否缺少程序集引用?)"

但是当我注释掉那行(使用OpenNETCF.IO.Ports;)时,我得到:

?OpenNETCF.IO.Ports.Handshake(多选…)

当我点击它时,有两个选项:

OpenNETCF.IO.Ports.Handshake 
- and:
OpenNETCF.IO.Serial.Handshake

由于本单元中的代码涉及打印,我选择了"端口"(拒绝"串行",因为它的阴阳转换为"并行")。然后它添加回它抱怨的使用(使用OpenNETCF.IO.Ports)…然后它又回到了原来的错误消息。

然而,我的参考文献中确实有几个OpenNETCF项目,即:

OpenNETCF
OpenNETCF.Data
OpenNETCF.Drawing
OpenNETCF.Net
OpenNETCF.Phone
OpenNETCF.VisualBasic // I don't know why, this is a C# project
OpenNETCF.Web.Services2
OpenNETCF.Windows.Forms
OpenNETCF.WindowsCE.Forms
OpenNETCF.Xml

是什么可能导致这场追逐鸡和蛋尾巴的运动受挫?

更奇怪的是,我得到了,"类型或命名空间名称'Windows'在类或命名空间'OpenNETCF'中不存在(你缺少程序集引用吗?)"在另一个.cs文件中指向这个用法:

using OpenNETCF.Windows.Forms;

然而,无论如何,使用都会被灰显为未使用,但当我评论它时,我会收到很多其他错误,据称是因为它已经消失了,比如这行:

IntPtr hwnd  = OpenNETCF.Win32.Win32Window.GetCapture();

类型或命名空间名称"Win32Window"在类或命名空间"OpenNETCF.W32"中不存在(是否缺少程序集引用?)

更新

在另一集《好好翻转我的比特!》中,我刚刚编译过,收到了关于无法将这行代码与安装和配置的代码进行协调的错误消息,等等,向上滚动查看它应该缺少的"使用",然后再次编译,现在它编译得很好。蓝色的火焰是什么?!?!?!?

为什么Visual Studio可以检测到哪个“;使用“;是必需的,但随后表示引发添加引用的类型或类不存在

当您为"Client Profile".net版本构建项目时,在引用客户端配置文件中不支持的程序集时,这听起来像是一个问题。

请尝试更改项目的生成设置以使用非"客户端配置文件"的.net框架版本。

也可以使用内部类来使用名称空间,所以如果有同时使用这两个名称空间的类,请考虑将其移动到那里,而不是像OpenNETCF.IO.Ports.Handshake handshake = new OpenNETCF.IO.Ports.Handshake() 中那样使用全名

对于使用名称空间的类:

using System;
namespace MyNamespace
{
    using OpenNETCF.IO.Ports;
    //...
}