是否所有ASP.NET MVC 4 RC程序集都是ASP.NET WebAPI RC部署所必需的?

时间:2012-07-03 23:45:13

标签: asp.net deployment asp.net-mvc-4 asp.net-web-api

当我在Visual Studio 2010中创建“空WebAPI”项目时,几个支持MVC网页的新程序集被添加为引用(以下列表中的少数示例):

  • System.Web.Razor.dll
  • System.Web.WebPages.Deployment.dll
  • System.Web.WebPages.dll
  • System.Web.WebPages.Razor.dll

为了清洁起见,我删除了那些我没有使用的DLL引用(或者我认为我没有“使用”)。部署到服务器时,我会得到如下例外:

Exception message: Could not load file or assembly 'System.Web.Razor,Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

我目前正在使用所有程序集对服务器进行bin部署,直到JIT compliation错误停止。

我理解FileNotFoundException。我知道运行时正在尝试解析该引用。

我的问题: 当您尝试创建的所有内容都是WebAPI网站时,为什么需要随身携带MVC Razor程序集?是否需要删除另一个依赖项?

1 个答案:

答案 0 :(得分:17)

不,你不需要所有这些组件。

我总是喜欢从 scratch 构建我的Web API项目。我不使用模板。我只是创建一个空的ASP.NET项目并添加Microsoft.AspNet.WebApi NuGet包。

以下是似乎只需要的参考资料:

Microsoft.CSharp
Microsoft.Web.Infrastructure   // Microsoft.Web.Infrastructure NuGet package
Newtonsoft.Json                // Newtonsoft.Json NuGet package
System.Net.Http                // Microsoft.Net.Http NuGet package
System.Net.Http.Formatting     // Microsoft.AspNet.WebApi.Client NuGet package
System.Net.Http.WebRequest     // Microsoft.Net.Http NuGet package
System.Web.DynamicData
System.Web.Entity
System.Web.ApplicationServices
System.ComponentModel.DataAnnotations
System
System.Data
System.Core
System.Data.DataSetExtensions
System.Web.Extensions
System.Web.Http                // Microsoft.AspNet.WebApi.Core NuGet package
System.Web.Http.WebHost        // Microsoft.AspNet.WebApi.WebHost NuGet package
System.Xml.Linq
System.Drawing
System.Web
System.Xml
System.Configuration
System.Web.Services
System.EnterpriseServices