找不到类型或命名空间名称“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");
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");
上一篇: PHP操作Postgresql封装类与应用完整实例
下一篇: 孕期腰痛怎么办?缓解腰酸背痛方法有这些