ServiceStack 4中的Razor依赖问题

我正在尝试将应用程序升级到ServiceStack 4,但我在Web.config引用System.Web.WebPages.Razor收到错误:

无法加载文件或程序集’System.Web.WebPages.Razor, Version = 1.0.0.0 ,Culture = neutral,PublicKeyToken = 31bf3856ad364e35’或其依赖项之一。 该系统找不到指定的文件。

违规引用与各种ServiceStack示例中包含的完全相同:

      ... 

我试图运行官方示例( Razor RockStar和EmailContacts ),但是当我运行它时我也遇到了同样的错误。

如果我将库声明更改为使用Version=2.0.0.0 ,我没有收到任何错误。

所以我的问题是:

示例是错误的,是否应该将它们移动到2.0.0.0或者我做错了什么?

我的设置:

  • Windows 8.1 Pro x64
  • Visual Studio 2013专业版
  • 针对.Net 4.5,x86的应用定位
  • ServiceStack 4.0.15

ServiceStack.Razor添加的剃刀Web.config部分通常使用VS.NET安装和更新中包含的计算机上安装的ASP.NET WebPages版本,通常位于:

 C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\ 

这包含安装的不同版本的ASP.NET网页,例如:

 v1.0\ v2.0\ 

安装ASP.NET WebPages的另一个选择是通过NuGet,即:

 PM> Install-Package Microsoft.AspNet.WebPages 

这将安装当前位于v3.1.1的最新版本的WebPages,这意味着您需要将Web.config中的版本号更改为Version = 3.0.0.0

您可以使用以下命令安装特定的1.0.0.0版ASP.NET网页:

 PM> Install-Package Microsoft.AspNet.WebPages -Version 1.0.20105.408 

仅使用配置部分

ServiceStack本身不使用WebPages实现,主要包括配置以保持VS.NET的智能感,并提供一种配置添加到Razor页面的默认命名空间的方法。

虽然这也可以通过添加到Config.RazorNamespaces集合在代码中完成,但是将它们添加到配置部分让VS.NET知道它们,这样你就可以获得正确的智能感,否则它对它没有任何影响。在运行时执行页面。