4

我是 C# 新手,我正在创建一个新的 Web 应用程序。像往常一样,我创建了一个应用程序通常使用的公共函数库。

我使用 VS.net 2008,我创建了一个具有以下结构的项目新项目:root --App_Code globalClass.cs --scripts Default.aspx Default.aspx.cs

我需要在 App_Code/globalClass.cs 中导入/使用 globalClass 在 Default.aspx 或任何其他代码后面。

这是 App_Code/globalClass.cs 的内容

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;


namespace sgmedcs.globalClass
{
    public class claseGlobalX : System.Web.UI.Page
    {
        //HttpContext httpActual = HttpContext.Current;

        public string cargarSQL(string queryStr, string queryType)
        {
          //Scripting
        }
    }
}

我还用作命名空间 sgmed.App_Code.globalClass 和 sgmedcs.​​AppCode.globalClass

在我使用 sgmedcs.​​globalClass 添加的 Default.aspx.cs 上;或使用 sgmed.App_Code.globalClass; 或使用 sgmedcs.​​AppCode.globalClass

所有这些方法都给了我“命名空间‘sgmedcs’中不存在类型或命名空间名称‘claseGlobal’(您是否缺少程序集引用?)”

我缺少什么,感谢您的帮助。

4

2 回答 2

14

进入类的属性,并将 Build Action 更改为Compile.

于 2013-10-03T17:14:46.253 回答
0

另外值得一提的是:如果您的项目是“网站”而不是“Web 应用程序”,则属性中没有构建操作选项。但是,由于各种原因,可能会出现相同的错误。一种是 App_Code 类被赋予了一个命名空间,而另一个文件没有使用包含命名空间的完全限定名称来引用它。另一个可能是您尝试使用该类的页面位于一个子目录中,该子目录在 IIS 上被标记为应用程序,这为其提供了一个完全独立的上下文,其中父目录的 App_Code 目录中的类无法访问. 在这种情况下,您需要删除子应用程序,或者,如果需要,给它自己的 App_Code 目录和必要的类。

于 2014-08-20T17:53:01.117 回答