我有一个名为AAA.System的项目,它包含一些简单的基本函数,供我们所有其他项目共享。这已经存在了大约5年左右,而且我们有很多参考它的项目都运行良好。
现在,我正在创建一个新项目(WCF服务),我遇到了一些名称空间解析问题。具体来说,我有这些用法:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.IO;
using System.Configuration;
using System.Configuration.Install;
using System.Reflection;
using System.ServiceModel;
using System.ServiceProcess;
using System.Text;
using System.Threading;
using System.Xml;
在某些时候,我有这行代码:
string fqdn = System.Net.Dns.GetHostName();
生成错误:
The type or namespace name 'Net' does not exist in the namespace 'AAA.System' (are you missing an assembly reference?)
因此,似乎视觉工作室(2010)试图解析为AAA.System.Net.Dns.GetHostName()
而不是System.Net.Dns.GetHostName()
,但我没有任何使用AAA.System
的使用声明。我在这里缺少的是指示编译器使用AAA.System?
答案 0 :(得分:0)
您调用以下行的类的命名空间是否设置为AAA
?
string fqdn = System.Net.Dns.GetHostName();
e.g。
namespace AAA
{
static void M()
{
string fqdn = System.Net.Dns.GetHostName();
}
}
要解决此问题,您应该能够在行前加global::
。
string fqdn = global::System.Net.Dns.GetHostName();
或者只需使用指令
为您添加System.Net