Nie sądzę, że można używać profilu klienta .NET do tworzenia aplikacji internetowych?
W każdym razie, że na bok. Przekonasz się, że przestrzenie nazw są zwykle ponownie używane w różnych zespołach.Zwłaszcza w zespołach szkieletowych, w których uważają, że niektóre klasy koncepcyjnie należą do siebie, nawet jeśli wspierają różne technologie.
Nie jestem pewien, czy wytłumaczyłem to dobrze, ale weź ten przykład. Istnieje przestrzeń nazw System w mscorlib, System, System.Net, System.Core i System.Numerics. System.Web może również pojawić się w System.Web.Http lub System.Web, a także w innych systemach takich jak System.Web.Abstractions, System.Web.Optimization, itp. W wyniku tego po prostu próbuje użyć instrukcji using do rozpoznania Zgromadzenie, z którego wywodzi się dana klasa, naprawdę może cię wyrzucić.
Typowe klasy w przestrzeni nazw System.Web.Hosting znajdują się w zestawie systemowym System.Web.dll. Microsoft stara się odrzucić bezpośrednie użycie System.Web.dll na rzecz bardziej modułowej implementacji Katana/Kestrel.
Powiedziawszy to, upewnij się, że twój projekt odwołuje się bezpośrednio do System.Web.dll. Aby użyć wymaganej klasy albo odwołaj się do niej przez jej pełną nazwę, tj. System.Web.Hosting.HostingEnvironment. Lub umieść using System.Web.Hosting;
na początku pliku .cs.
Możliwe jest posiadanie właściwości w bieżącej klasie o nazwie HostingEnvironment lub klasy z innej przestrzeni nazw w innym zestawie o nazwie HostingEnvironment. W takim przypadku może być konieczne podanie nazwy klasy w całości lub wymyślenie monikera w celu łatwego odniesienia i zmniejszenia pisania.
Na przykład, można mieć to na początku pliku:
using HostEnv = System.Web.Hosting.HostingEnvironment;
Potem gdzieś w ciele kodzie, można odnieść się do niego w ten sposób:
var appHost = HostEnv.ApplicationHost;
Does ta pomoc?
dla danego scenariusza chcesz zająć, może wtedy to zrobić:
var resolvedPath = HostEnv.MapPath(pathToMap);
Że tak naprawdę nie rozwiązuje problemu, prawda? Co, jeśli OP musi użyć innego członka tej klasy/przestrzeni nazw? – Stijn
@Stijn prawdopodobnie dlatego, że nie ma klasy Hosting? – mybirthname
To jest problem, który mam, potrzebuję metodę QueueBackgroundWorkItem w klasie HostingEnvironment. Widzę przestrzeń nazw, klasę i metodę w przeglądarce obiektów, ale mój kod nie znajduje go podczas odwoływania się do wersji 4.5.2 System.Web.Hosting, –