Asp.net-Mvc-3

無法載入文件或程序集’System.Web.WebPages.Razor,版本 = 2.0.0.0

  • June 12, 2012

我剛剛升級了 MVC 3 項目 (ASP.net 4) 中的包,現在在訪問該項目中的頁面時收到以下錯誤消息:

“/MyApplication”應用程序中的伺服器錯誤。

無法載入文件或程序集“System.Web.WebPages.Razor,Version=2.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依賴項之一。找到的程序集的清單定義與程序集引用不匹配。(來自 HRESULT 的異常:0x80131040) 說明:在執行目前 Web 請求期間發生未處理的異常。請查看堆棧跟踪以獲取有關錯誤及其源自程式碼的位置的更多資訊。

異常詳細資訊:System.IO.FileLoadException:無法載入文件或程序集“System.Web.WebPages.Razor,Version=2.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依賴項之一。找到的程序集的清單定義與程序集引用不匹配。(來自 HRESULT 的異常:0x80131040)

源錯誤:

在執行目前 Web 請求期間生成了未處理的異常。可以使用下面的異常堆棧跟踪來辨識有關異常起源和位置的資訊。

程序集載入跟踪:以下資訊有助於確定為什麼無法載入程序集“System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”。

=== 預綁定狀態資訊 === LOG: User = IIS APPPOOL\ASP.NET v4.0 LOG: DisplayName = System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 (完全指定)日誌:Appbase = file:///C:/…/ 日誌:初始 PrivatePath = C:…\bin 呼叫程序集:Microsoft.Web.Helpers,版本=2.0.0.0,文化=中性, PublicKeyToken=31bf3856ad364e35。=== LOG:此綁定在預設載入上下文中開始。LOG:使用應用程序配置文件:C:…\web.config LOG:使用主機配置文件:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config LOG:使用來自 C 的機器配置文件: \Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config。日誌:政策後參考:System.Web.WebPages.Razor,版本=2.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35 日誌:正在嘗試下載新的 URL 文件:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/…/cb62a7b2/327a0353/System.Web.WebPages.Razor.DLL。日誌:嘗試下載新 URL 文件:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/…/cb62a7b2/327a0353/System.Web.WebPages.Razor/System .Web.WebPages.Razor.DLL。日誌:正在嘗試下載新的 URL 文件:///C:/LeGroupeHtmSVN/…/UpDir.Web/bin/System.Web.WebPages.Razor.DLL。警告:比較程序集名稱導致不匹配:主要版本錯誤:無法完成程序集設置(hr = 0x80131040)。探測終止。///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/…/cb62a7b2/327a0353/System.Web.WebPages.Razor/System.Web.WebPages.Razor.DLL。日誌:正在嘗試下載新的 URL 文件:///C:/LeGroupeHtmSVN/…/UpDir.Web/bin/System.Web.WebPages.Razor.DLL。警告:比較程序集名稱導致不匹配:主要版本錯誤:無法完成程序集設置(hr = 0x80131040)。探測終止。///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/…/cb62a7b2/327a0353/System.Web.WebPages.Razor/System.Web.WebPages.Razor.DLL。日誌:正在嘗試下載新的 URL 文件:///C:/LeGroupeHtmSVN/…/UpDir.Web/bin/System.Web.WebPages.Razor.DLL。警告:比較程序集名稱導致不匹配:主要版本錯誤:無法完成程序集設置(hr = 0x80131040)。探測終止。

堆棧跟踪:

[FileLoadException:無法載入文件或程序集“System.Web.WebPages.Razor,版本=2.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35”或其依賴項之一。找到的程序集的清單定義與程序集引用不匹配。(HRESULT 異常:0x80131040)]

Microsoft.Web.Helpers.PreApplicationStartCode.Start() +0

[InvalidOperationException:Microsoft.Web.Helpers.PreApplicationStartCode 類型的預應用程序啟動初始化方法 Start 引發異常,並顯示以下錯誤消息:無法載入文件或程序集 ‘System.Web.WebPages.Razor,版本 = 2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ 或其依賴項之一。找到的程序集的清單定義與程序集引用不匹配。(HRESULT 異常:0x80131040)。]

System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 方法)+11711966

System.Web.Compilation.BuildManager.CallPreStartInitMethods() +465

System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager,IApplicationHost appHost,IConfigMapPathFactory configMapPathFactory,HostingEnvironmentParameters hostingParameters,PolicyLevel policyLevel,異常 appDomainCreationException)+1167

[HttpException (0x80004005): Microsoft.Web.Helpers.PreApplicationStartCode 類型的預應用程序啟動初始化方法 Start 引發異常並顯示以下錯誤消息:無法載入文件或程序集 ‘System.Web.WebPages.Razor,版本 = 2.0 .0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35’ 或其依賴項之一。找到的程序集的清單定義與程序集引用不匹配。(HRESULT 異常:0x80131040)。]

System.Web.HttpRuntime.FirstRequestInit(HttpContext context)+11700896 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)+141 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,HttpContext context)+ 4869125

————————————————– —————— 版本資訊:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.0.30319.272

在我的 web.config 文件和我的應用程序中,我引用 System.Web.WebPages.Razor v1.0.0.0:

  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" />
  </dependentAssembly>

我什至不知道我是否可以將 System.Web.WebPages.Razor v2.0.0.0 與 .Net 4 一起使用。

現在,我如何找出引用 System.Web.WebPages.Razor v2.0.0.0 的內容?

如何找出引用 System.Web.WebPages.Razor v2.0.0.0 的內容?

只需閱讀您的異常堆棧跟踪:

Calling assembly : Microsoft.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

因此,您似乎正在使用Microsoft.Web.Helperswhich 反過來取決於System.Web.WebPages.Razor, Version=2.0.0.0.

很簡單。在 Nuget 包管理器控制台中:

更新包 Microsoft.AspNet.Mvc -重新安裝

引用自:https://stackoverflow.com/questions/11000506