In einer meiner Klassenbibliotheken möchte ich nur einen einzigen Anruf an System.Web.Mvc.Server.MapPath(string path)
.Wo referenziere ich System.Web.Mvc.dll?
Wenn ich das NuGet-Paket Microsoft.AspNet.Mvc
in diese Klassenbibliothek installiere, muss ich zuerst das Microsoft.AspNet.WebPages
-Paket installieren, das weitere Abhängigkeiten haben kann.
Ich möchte nur die einzelne DLL System.Web.Mvc.dll
seit der Server
Klasse ist da drin.
Ich habe versucht, die DLL aus dem Pfad verweisen:
C: \ Program Files (x86) \ Microsoft ASP.NET \ ASP.NET Web Stack 5 \ Packages \ Microsoft.AspNet.Mvc.5.2.3 \ lib \ net45
aber diese DLL hat nicht die Server
Klasse im System.Web.Mvc
Namespace.
Und ich sehe diese DLL nirgendwo sonst auf meinem Rechner.
Wo kann ich auf diese DLL verweisen? Früher war es so einfach. Und es blieb einfach, wenn Sie nur MVC bis 2010 referenzieren wollten.
Sie brauchen nicht System.Web.Mvc dafür, hier sehen http://stackoverflow.com/questions/1199486/server-mappath-in-c-sharp-classlibrary – Esko
[HttpServerUtility.MapPath] (https://msdn.microsoft.com/en-us/library/system.web.httpserverutility.mappath (v = vs.110) .aspx) ist ein Teil von 'System.Web' (beide Namensraum und Assembly). Es ist nicht spezifisch für MVC. Eine stabilere Lösung könnte auch die Verwendung von [HostingEnvironment.MapPath] (https://msdn.microsoft.com/en-us/library/system.web.hosting.hostingenvironment.mappath.aspx) sein, da dies nicht webserverspezifisch ist. Siehe auch vorherige Frage zum Unterschied zwischen den 2 auf SO hier: http://Stackoverflow.com/a/3796042/1260204 – Igor
@Esko Danke. Bitte schreibe das als Antwort? –