我正在编写的Web应用程序抛出此编译时错误
错误1名称空间'ATS.System'中不存在类型或命名空间名称'Web'(您是否缺少程序集引用?)
为程序集中的每个代码文件 命名空间导入每个文件(System和System.Web)
我还在VS
的References Dir中添加了引用(两者)我不知道我做错了什么
答案 0 :(得分:1)
我怀疑问题是你有一个名为ATS.System
的命名空间 - 在某些情况下这会混淆。如果可能可以,请将命名空间重命名为其他内容。
以下是一些显示相同问题的示例:
// Foo.cs
namespace ATS.System
{
class Foo {}
}
// Bar.cs
namespace ATS
{
using System.Collections.Generic;
class Bar {}
}
如果将using指令移出命名空间声明,即将第二个文件更改为:
// Bar.cs
using System.Collections.Generic;
namespace ATS
{
class Bar {}
}
那么没关系 - 但我想知道ASP.NET的自动生成代码是否将using指令放在命名空间声明中:(摆脱ATS.System
肯定会让它更容易向前发展。
答案 1 :(得分:0)
您的命名空间“ATS.System”与命名空间“System”冲突。当编译器看到“System.Web”时,它认为“System”指的是“ATS.System”命名空间。
如果可能,重命名ATS.System
命名空间,或使用别名。类似的东西:
using AtsSys = ATS.System;
或者:
Imports AtsSys = ATS.System
这当然意味着您必须将AtsSys.
放在从该命名空间使用的每个类名之前。