我不認爲你可以使用.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