最近幾個月我一直在研究mvc4 web應用程序。當我在nuget中運行更新包以確保我擁有最新版本的庫時,一切都很順利。MVC4應用程序試圖引用更新版本的System.Web.WebPages.Razor問題
現在,當我嘗試它告訴我,它得到錯誤 Could not load file or assembly 'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
我檢查了我的web.config和我packages.config無處的應用程序來查看什麼我在引用System.Web.WebPages.Razor, Version=3.0.0.0
我添加了一個dependentAssembly塊到我的web.config與版本2.0.0.0
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
,並確保在我的意見目錄中的web.config文件還規定V2.0.0.0
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
我也確保在我的引用中引用的版本是2.0.0.0。我嘗試刪除它並閱讀它。我試圖確保服務器安裝了最新版本的.net框架。
我已經在服務器和本地測試了這個,並得到相同的錯誤信息。
本地我在錯誤日誌LOG: Post-policy reference: System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
中看到這個但我無法找到任何信息是什麼造成的。
我正在開發它在Visual Studio 2012溢價。
任何人有任何想法?
你的一個NuGet包可能引用它。 – SLaks
您的目標是框架4.0還是4.5?如果你的項目是4.0,而更新後的軟件包使用4.5,你有兩個選擇:降級你的nuget或升級你的框架到4.5 –
我的目標是4.5。我已回滾到以前的更改集,並且所有內容都可以正常工作。但是我害怕現在更新我的依賴關係。 – wmelon