【发布时间】:2016-07-06 12:36:29
【问题描述】:
在我的一个类库中,我希望只调用一次System.Web.Mvc.Server.MapPath(string path)。
如果我将 NuGet 包 Microsoft.AspNet.Mvc 安装到该类库中,我还必须先安装 Microsoft.AspNet.WebPages 包,它可能有更多的依赖关系。
我只想要单个 DLL System.Web.Mvc.dll,因为 Server 类在其中。
我尝试从路径中引用 DLL:
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Stack 5\Packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45
但该 DLL 在 System.Web.Mvc 命名空间中没有 Server 类。
而且我在我的机器上的其他任何地方都看不到这个 DLL。
我可以从哪里引用这个 DLL?在过去,这曾经很容易。如果您只想在 2010 年之前引用 MVC,这很容易。
【问题讨论】:
-
你不需要 System.Web.Mvc ,见这里stackoverflow.com/questions/1199486/…
-
HttpServerUtility.MapPath 是
System.Web的一部分(包括命名空间和程序集)。它不是特定于 MVC。此外,更强大的解决方案可能是使用HostingEnvironment.MapPath,因为这不是特定于 Web 服务器的。另请参阅上一个关于 SO 上 2 之间区别的问题:stackoverflow.com/a/3796042/1260204 -
@Esko 谢谢。请把它写成答案?
-
@Igor 有两个程序集——System.Web.dll 和 System.Web.Mvc.dll
标签: .net asp.net-mvc