无法找到命名空间或类(ASP.NET WebSite“项目”)

时间:2009-06-25 16:44:58

标签: c# asp.net c#-3.0

我目前正在尝试清理我在这里继承的一些公司网站。我设法清理了网站上的大部分错误,但仍有一些问题在这里。

我有一个包含此代码的母版页:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.ComponentModel;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class MasterPage : System.Web.UI.MasterPage {
    public lists m_listsClass = new lists();

(不,这不是列表中S的错字)。

现在在App_code中我有一个类lists.cs

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

/// <summary>
/// Summary description for lists
/// </summary>
public class lists
{
    public lists()
    {

当我尝试在visual studio 2008中构建网站时,我有这样的错误:

Error   3   The type or namespace name 'lists' could not be found (are you missing a using directive or an assembly reference?) C:\Users\egirard\Documents\Visual Studio 2008\Projects\iFuzioncorp\iFuzioncorp\Masters\MasterPage.master.cs 23  12  iFuzioncorp

我错过了什么吗?

此外,我在服务器上看到了一些奇怪的行为。显然根据IIS7,它正在使用.net 2.0进行编译(池配置了.net 2)但是有一些"using“语句包含Linq ...如果Linq不是,如何编译页面是可能的.net 2本身的一部分?

刚编辑了代码本身的新闻详情。在任何地方都没有名称空间。

9 个答案:

答案 0 :(得分:12)

你好 - 我有类似的问题;我的所有命名空间和继承都已到位。然后我注意到类文件的构建操作设置为“内容”而不是“编译”(在属性窗口中。

答案 1 :(得分:2)

对于任何值得在几个月后得到答案(可能不是正确的答案),我想我应该做出贡献:

当您将网站放在另一个网站(即子文件夹中)时,会发生这种情况。 在这种情况下,唯一合法的App_Code文件夹是外部网站的App_code文件夹。也就是说,主网站根目录下的App_Code文件夹。

如果将类文件放在ROOT网站的App_code文件夹中,也许(比方说也许)不需要将您的网站转换为Web应用程序。

答案 2 :(得分:1)

包括定义列表类的命名空间

在同一名称空间

下定义母版页和列表类

答案 3 :(得分:1)

最后我最近才明白它是一个网站而不是一个网络应用程序我不得不质疑这里的人来获取它...所以这很正常我犯的错误。我没有机会先转换它。

答案 4 :(得分:0)

确保在您的母版页中,您有一个列表类所属的命名空间的#include语句(如果它们位于单独的命名空间中,则母版页不会自动获取它)。

对于奇怪的服务器端行为,.NET 2.0,3.0和3.5都在IIS中的.NET 2.0应用程序池中运行。起初看起来很奇怪,但你已经习惯了。这是一个更深入探索的链接:

The Way I See It: Where is ASP.NET 3.5 on IIS?

答案 5 :(得分:0)

要使用类型,必须引用定义它的程序集并包含相应的名称空间。

仅使用包含名称空间,如果不使用所述名称空间中的任何类型,则它不起作用。

答案 6 :(得分:0)

是包含在命名空间中的lists.cs吗?如果是这种情况,那么您需要添加命名空间(yournamespace.lists)或将其包含在母版页中。检查您的MasterPage是否在命名空间

答案 7 :(得分:0)

  1. 修改App_Code类的构建操作以进行编译。

  2. 清理并构建项目

  3. 这对我有用。

答案 8 :(得分:0)

我自己遇到了这个问题

之所以无法正常工作,是因为我所引用的项目是在其属性而非类库中设置为控制台应用程序