Asp.net程序集引用错误

Asp.net程序集引用错误,asp.net,visual-studio-2008,reference,Asp.net,Visual Studio 2008,Reference,我正在编写的web应用程序抛出此compiletime错误 错误1命名空间“ATS.System”中不存在类型或命名空间名称“Web”(是否缺少程序集引用?) 对于程序集中的每个代码文件 命名空间导入到每个文件中(System和System.Web) 我还在VS中的references目录中添加了引用(两者都有) 我不知道我做错了什么我怀疑问题在于您有一个名为ATS.System的名称空间-在某些情况下,这会让事情变得混乱。如果可能,请将名称空间重命名为其他名称空间 下面是一些显示相同问题的示例

我正在编写的web应用程序抛出此compiletime错误

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

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

我还在VS中的references目录中添加了引用(两者都有)


我不知道我做错了什么

我怀疑问题在于您有一个名为
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
肯定会使前进更容易。

您的名称空间“ATS.System”与名称空间“System”冲突。当编译器看到“System.Web”时,它认为“System”是指“ATS.System”命名空间

如果可能,重命名
ATS.System
名称空间,或者为其使用别名。类似于:

using AtsSys = ATS.System;
或:


这当然意味着您必须将
AtsSys.
放在从该名称空间使用的每个类名之前。

我不知道为什么,但系统为我的一个文件生成了一个名称空间:ATS.system.Masters。我将其改回ATS,它工作得非常出色。谢谢。@kev谢谢。这告诉了我为什么我知道一个文件夹r名为“system”是个坏主意!@Matt-如果项目的默认名称空间是ATS,并且您在项目文件夹的根目录下有一个文件夹路径“/system/Masters”,当您将源文件添加到“Masters”时,VS将自动将文件夹路径附加到默认名称空间:ATS.system.Masters。请考虑一下原因
Imports AtsSys = ATS.System