文件夹 App_Code 内的 C# 访问类
Posted
技术标签:
【中文标题】文件夹 App_Code 内的 C# 访问类【英文标题】:C# Access Class Inside a Folder App_Code 【发布时间】:2013-10-10 11:42:47 【问题描述】:我是 C# 新手,我正在创建一个新的 Web 应用程序。像往常一样,我创建了一个应用程序通常使用的公共函数库。
我使用 VS.net 2008,我创建了一个项目新项目,其结构如下: 根 --App_Code 全局类.cs --脚本 默认.aspx 默认.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
所有这些方法都给了我“类型或名称空间名称 'caseGlobal' 不存在于名称空间 'sgmedcs' 中(您是否缺少程序集引用?)”
我缺少什么,感谢您的帮助。
【问题讨论】:
我认为如果您将命名空间更改为命名空间 sgmedcs 它应该可以解决您的问题。 【参考方案1】:进入类的属性,将 Build Action 更改为Compile
。
【讨论】:
我保留命名空间 sgmedsc.globalClass。在 default.aspx 我添加了 sgmedsc.globalClass;正如詹姆斯约翰逊所说,在属性中,我将构建操作更改为编译。谢谢【参考方案2】:另外值得一提的是:如果您的项目是“网站”而不是“Web 应用程序”,则属性中没有构建操作选项。但是,由于各种原因,可能会出现相同的错误。一种是 App_Code 类被赋予了一个命名空间,而另一个文件没有使用包含命名空间的完全限定名称来引用它。另一个可能是您尝试使用该类的页面位于一个子目录中,该子目录在 IIS 上被标记为应用程序,这为其提供了一个完全独立的上下文,其中父目录的 App_Code 目录中的类无法访问.在这种情况下,您需要删除子应用程序,或者,如果需要,给它自己的 App_Code 目录和必要的类。
【讨论】:
以上是关于文件夹 App_Code 内的 C# 访问类的主要内容,如果未能解决你的问题,请参考以下文章
一个类放在App_Code中要用时可以直接找到,但是放在别的文件夹下怎么找不到了,怎么才能找到