当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 找不到类型或命名空间名称“Server”(是否缺少 using 指令或程序集引用?)

ASP.NET
DotNet慎用Shared方法
.net remoting范例
Edit Method
刚开始学习DNN的一点小经验(一)
AddNew Method Example
Edit Method Example
定制DataGrid的外观
jetspeed开发实战
现在有问题,DataGrid分页中的一个问题
浅谈DOTNET大规模团队开发控制与asp.net中webform的viewstate
imgedit imgadmin tiff koda vb6
Thinking in C#
使用XmlReader迭代代替类型化DataSet和IDataReader解析关联数据
浅谈Microsoft Windows操作系统的下一代存储系统WinFS
C#简介- 类和对象,选自《C#编程语言详解》,送给新手
DCG v1.4.1.1
Web Service随笔1
ASP.NET组件设计Step by Step(8)
XMLHTTP 对象及其方法
remoting使用手记(2)

ASP.NET 中的 找不到类型或命名空间名称“Server”(是否缺少 using 指令或程序集引用?)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 74 ::
收藏到网摘: n/a

今天将webserice里面的一个代码,拷到一个C#类,结果运行编译错误。
DataBase = Server.MapPath("data.mdb");
报错:找不到类型或命名空间名称“Server”(是否缺少 using 指令或程序集引用?)
但是我的确引用了名字空间using System.Web;为什么呢?
因为Server的完整路径是System.Web.HttpContext.Current.Server。using System.Web是显然不够的;但是在从内置Page类继承的类中可以直接写Server.MapPath"data.mdb"),应该是因为Page类已经包含了这些类路径。
由此总结对这类错误的解决方法如下
1、确保正确的程序集引用:
确保引用了包含命名空间的程序集。如果是在 Visual Studio .NET 中进行开发,则可以转到项目菜单并单击添加引用。在 .NET 选项卡上,选择包含您要导入的命名空间的程序集,或者浏览到包含程序集的文件夹。如果在使用命令行编译器,则向编译语句中添加相应的开关 (/reference)。
2、正确的命名空间:
(1)*如果你从Page类继承的类中执行这条语句,才可以简单地使用
DataBase = Server.MapPath("data.mdb");
(2)如果在普通类中
A)将using 语句放在包含类型引用的代码文件的顶端,确保在将命名空间导入项目:
using System.Web;
DataBase = HttpContext.Current.Server.MapPath("data.mdb");
B)如果没有using语句,则完全限定对类型的引用:
DataBase = System.Web.HttpContext.Current.Server.MapPath("data.mdb");