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