Asp.net程序集引用错误

时间:2009-03-12 21:18:12

标签: asp.net visual-studio-2008 reference

我正在编写的Web应用程序抛出此编译时错误

错误1名称空间'ATS.System'中不存在类型或命名空间名称'Web'(您是否缺少程序集引用?)

为程序集中的每个代码文件 命名空间导入每个文件(System和System.Web)

我还在VS

的References Dir中添加了引用(两者)

我不知道我做错了什么

2 个答案:

答案 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.放在从该命名空间使用的每个类名之前。