2014-02-09 124 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