我不认为你可以使用.NET客户端配置文件来构建Web应用程序?
无论如何,那就放在一边。您会发现名称空间倾向于在不同的程序集中重用。特别是在框架组件中,他们认为即使支持不同的技术,一些类在概念上也属于一个类。
我不确定我解释得很好,但拿这个例子。 mscorlib,System,System.Net,System.Core和System.Numerics中有一个System命名空间。此外,System.Web可能会出现在System.Web.Http或System.Web本身,以及其他像System.Web.Abstractions,System.Web.Optimization等。结果只是试图使用using语句来辨别一个特定的班级来自的集会可以真的让你失望。
System.Web.Hosting命名空间中的典型类位于框架程序集System.Web.dll中。微软一直试图不再强调直接使用System.Web.dll来支持更加模块化的Katana/Kestrel实现。
话虽如此,请确保您的项目直接引用System.Web.dll。要使用所需的类,请参考它的完整名称,即System.Web.Hosting.HostingEnvironment。或者在你的.cs文件的开头放一个using System.Web.Hosting;
。
可能在当前类中有一个名为HostingEnvironment的属性,或者是另一个名为HostingEnvironment的程序集中另一个名称空间的类。在这种情况下,您可能需要全部指定类名,或者提供一个名称以方便参考并减少打字。
例如,你可以在你的文件的开头有这样的:
using HostEnv = System.Web.Hosting.HostingEnvironment;
地方在你的代码的身体。然后,你可以提及这样说:
var appHost = HostEnv.ApplicationHost;
不这有帮助吗?
对于要解决特定的情况下,你便可以这样做:
var resolvedPath = HostEnv.MapPath(pathToMap);
这并不能真正解决问题,不是吗?如果OP需要使用该类/名称空间的另一个成员,该怎么办? – Stijn 2014-10-07 13:14:34
@Stijn可能是因为没有Hosting课程? – mybirthname 2014-10-07 13:15:26
这是我遇到的问题,我需要HostingEnvironment类中的QueueBackgroundWorkItem方法。我可以在对象浏览器中看到命名空间,类和方法,但是我的代码在引用4.5.2版本的System.Web.Hosting, – 2016-07-06 20:40:53