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

问题描述 投票:4回答:9

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

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

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不是其中的一部分,如何编译页面是可能的。网2本身?

刚编辑了代码本身的新闻详细信息。到处都没有命名空间。

c# asp.net c#-3.0
9个回答
12
投票

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


2
投票

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

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

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


1
投票

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

要么

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


1
投票

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


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?


0
投票

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

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


0
投票

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


0
投票
  1. 修改App_Code类的构建操作以进行编译。
  2. 清理和建造项目

这对我有用。


0
投票

我自己有这个问题

它没有工作,因为我引用的项目在其属性中设置为控制台应用程序而不是类库

© www.soinside.com 2019 - 2024. All rights reserved.