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

ASP.NET
用ASP/ASP.NET实现网络空间管理
ASP.NET程序中用Repeater实现分页
在ASP.NET中上传图片并生成缩略图的C#源码
Asp.net动态生成html页面
DataGrid同时具有分页和排序功能及注意点
建立自己的RSS
Asp.net中处理一个站点不同Web应用共享Session的问题
创建完全可编辑的 DataGrid
调试ASP.NET应用程序的方法和技巧
让你的.NET程序兼容不同版本的Dll文件
用ASP.NET实现简单的文字水印
ASP.NET中实现中文简/繁体自动转换的类
ASP.NET技巧:为Blog打造个性日历
ASP.NET中使用IFRAME建立类Modal窗口
WEB页面多语言支持解决方案
涉及网络编程时,需要用到的几个常用方法
2个页面间不通过Session与url的传值方式
ASPX中的用户控件与ASP中的INCLUDE方法对比
使用HttpWebRequest向网站模拟上传数据
在asp.net中操作sql server数据库的一些小技巧

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 82 ::
收藏到网摘: 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");