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知道它们,这样你就可以获得正确的智能感,否则它对它没有任何影响。在运行时执行页面。