ServiceStack中的Razor依赖问题
本文关键字:问题 依赖 Razor 中的 ServiceStack | 更新日期: 2023-09-27 17:53:52
我正在尝试将应用程序升级到ServiceStack 4,但我在Web.config
中引用System.Web.WebPages.Razor
时出现错误:
无法加载文件或程序集"System.Web.WebPages"。Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'或其依赖项之一。系统找不到指定的文件
有问题的引用与各种ServiceStack示例中包含的引用完全相同:
<compilation targetFramework="4.5" debug="true">
<assemblies>
<add assembly="System.Web.WebPages.Razor,
Version=1.0.0.0,
Culture=neutral,
PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
...
我试着运行官方示例(Razor RockStar和EmailContacts),但当我运行它们时,我也得到了相同的错误。
如果我将库声明改为使用Version=2.0.0.0
,我不会得到任何错误。
我的问题是:
是错误的例子,他们应该被移动到2.0.0.0以及还是我做错了什么?
我的设置:- Windows 8.1 Pro x64
- Visual Studio 2013 Pro
- 针对。net 4.5, x86的应用程序
- ServiceStack 4.0.15
剃刀网。由ServiceStack添加的config节。Razor通常使用ASP版本。.NET网页安装在您的计算机上,包含在VS.NET安装和更新中,通常位于:
C:'Program Files (x86)'Microsoft ASP.NET'ASP.NET Web Pages'
保存不同版本的ASP。. NET网页安装,例如:
v1.0'
v2.0'
另一个安装ASP的选项。. NET网页是通过NuGet,即:
PM> Install-Package Microsoft.AspNet.WebPages
这将安装最新版本的WebPages,目前是v3.1.1,这意味着你需要在Web中更改版本号。config to 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知道它们,这样您就可以获得适当的智能感知,否则它不会对运行时页面的执行产生任何影响。