代码之家  ›  专栏  ›  技术社区  ›  Erick

找不到命名空间或类(ASP.NET网站“项目”)。

  •  4
  • Erick  · 技术社区  · 15 年前

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

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

    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();
    

    (不,这不是名单上的错别字)。

    现在在应用程序代码中,我有一个类列表.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本身的一部分,如何编译该页?

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

    8 回复  |  直到 10 年前
        1
  •  12
  •   bob    15 年前

    您好,我也遇到了类似的问题;我的所有名称空间和继承都已就位。然后我注意到类文件构建操作被设置为内容而不是编译(在属性窗口中)。

        2
  •  2
  •   daskd    15 年前

    为了在几个月后得到一个答案(可能不是正确的答案),我认为我应该做出贡献:

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

    如果您将类文件放在根网站的app_code文件夹中,那么可能(比如可能)不需要将您的网站转换为Web应用程序。

        3
  •  1
  •   Rony    15 年前

    包括用于定义列表cals的命名空间

    在同一命名空间下定义母版页和列表类

        4
  •  1
  •   Erick    15 年前

    最近我终于明白 网站 而不是 Web应用程序 我得问这里的人才能拿到…所以我犯的所有错误都很正常。我没有机会先改变它。

        5
  •  0
  •   Justin Niessner    15 年前

    确保在masterpage中,有一个用于lists类所属命名空间的include语句(如果它们位于单独的命名空间中,则masterpage不会自动获取)。

    至于奇怪的服务器端行为,.NET 2.0、3.0和3.5都在IIS中的.NET 2.0应用程序池内部运行。起初看起来很奇怪,但你已经习惯了。下面是一个更深入的解释:

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

        6
  •  0
  •   Brian Rasmussen    15 年前

    为了使用类型,必须引用定义它的程序集并包含适当的命名空间。

    只使用include名称空间,如果不使用上述名称空间中的任何类型,则不会产生任何效果。

        7
  •  0
  •   Youssef    15 年前

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

        8
  •  0
  •   Manu Vishwakarma    10 年前
    1. 修改要编译的app_code类的生成操作。

    2. 清理和建设项目

    这对我有用。