2014-02-09 127 views
0

我刚刚创建了一个asp.net MVC 4应用程序,并且我有nugot ServiceStack.Razor。 当我F5的网站,我收到以下错误ServiceStack.Razor打破asp-net MVC应用程序

无法加载文件或程序集“System.Web.WebPages.Razor, 版本= 1.0.0.0,文化=中性公钥= 31bf3856ad364e35”或 它的一个依赖关系。

而且从web.config中像这样的误差源:

Line 27:  
Line 28:  <compilation debug="true" targetFramework="4.5"><assemblies> 
Line 29:   <add assembly="System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
Line 30:  </assemblies><buildProviders> 
Line 31:   <add extension=".cshtml" type="ServiceStack.Razor.CSharpRazorBuildProvider, ServiceStack.Razor" /> 

出了什么问题?

回答

1

您不能将ServiceStack.Razor与MVC Razor一起使用,它们都具有独立且冲突的Razor代码构建提供程序。使用普通(即非MVC)ASP.NET Web应用程序并添加ServiceStack.Razor,或者如果您使用ASP.NET MVC,则只能访问MVC Razor。

+0

认为ServiceStack.Razor更像是Razor的补充。所以根本不可能在ASP.NET MVC中使用SS.Razor? – kasperhj

+0

Razor的设计不是可扩展的,只能有1个Razor代码构建提供者,而当你拥有MVC时,它(和VS.NET)期望完全控制它。有一个机会使用不同的文件扩展名(例如设置RazorFormat.RazorFileExtension)的SS.Razor,但我建议不要在同一个项目中使用2个独立的Razor引擎,最好挑选一个或另一个。 – mythz

+0

@mythz对于一个正在慢慢转化为SS和SS Razor的现有项目,您有什么建议?但是目前这两个项目都必须共存? – Zoran