欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-20 15:18:09
今天将webserice里面的一个代码,拷到一个c#类,结果运行编译错误。database = server.mappath("data.mdb");报错:找不到类型或命名...
今天将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");