我在哪里可以参考System.Web.Mvc.dll?

时间:2016-07-06 12:36:30

标签: .net asp.net-mvc

在我的一个类库中,我希望只调用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在Server命名空间中没有System.Web.Mvc类。

我在我的机器上的任何其他地方都没有看到这个DLL。

我在哪里可以引用此DLL?在过去,它过去很容易。如果你想直到2010年才引用MVC,那就很容易了。

2 个答案:

答案 0 :(得分:1)

您的项目中不需要使用System.Web.Mvc-assembly来使用Server.Mappath。您只需要在项目中引用 System.Web 即可

var path = System.Web.HttpContext.Current.Server.MapPath("default.aspx");

答案 1 :(得分:0)

  

如果我将NuGet包Microsoft.AspNet.Mvc安装到该类库中,我必须首先安装Microsoft.AspNet.WebPages包,这可能还有其他依赖关系。

是的,自2010年以来这一点都没有改变。但是NuGet通过安装两个文件来引用添加对项目中的那些文件的引用更加容易。 只需一个简单步骤即可添加任何相关的NuGet包。

  

我在哪里可以参考这个DLL?

NuGet安装的文件实际位于名为\packages的目录下的根目录(解决方案文件所在的位置)下。

但是当您安装NuGet软件包时,NuGet 会自动为您添加对文件的引用,因此除非出现问题,否则无需使用它们。

例如,要安装Microsoft.AspNet.Mvc,只需在Package Manager控制台中运行以下命令即可。

PM> Install-Package Microsoft.AspNet.Mvc -Version 5.2.3 

将安装MVC的5.2.3及其所有依赖项,并引用.csproj文件中的这些DLL。

进一步阅读:Using NuGet Part 1: NuGet Basics