簡體   English   中英

無法加載文件或程序集System.Web.Mvc

[英]Could not load file or assembly System.Web.Mvc

我正在我的項目中使用umbraco 4.11.3。我的項目工作得很好,在Windows 7上運行並從visual studio 2012運行。但是當它從Visual Studio 2012運行時它在Win 8中不起作用!

錯誤是:

無法加載文件或程序集'System.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依賴項之一。 定位的程序集的清單定義與程序集引用不匹配。 (HRESULT異常:0x80131040)

描述:執行當前Web請求期間發生未處理的異常。 請查看堆棧跟蹤以獲取有關錯誤及其源自代碼的位置的更多信息。

異常詳細信息:System.IO.FileLoadException:無法加載文件或程序集'System.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依賴項之一。 定位的程序集的清單定義與程序集引用不匹配。 (HRESULT異常:0x80131040)

來源錯誤:

在執行當前Web請求期間生成了未處理的異常。 可以使用下面的異常堆棧跟蹤來識別有關異常的起源和位置的信息。

程序集加載跟蹤:以下信息有助於確定無法加載程序集“System.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”的原因。

===預綁定狀態信息===日志:用戶= Jahan-PC \\ jahan日志:DisplayName = System.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35(完全指定)日志: Appbase = file:/// G:/20130204/SourceCode/Defraz.Movafaqiyat.WebApp/Defraz.Movafaqiyat.WebApp/日志:初始PrivatePath = G:\\ 20130204 \\ SourceCode \\ Defraz.Movafaqiyat.WebApp \\ Defraz.Movafaqiyat.WebApp \\ bin調用程序集:ClientDependency.Core.Mvc,Version = 1.5.1.0,Culture = neutral,PublicKeyToken = null。 ===日志:此綁定在默認加載上下文中啟動。 日志:使用應用程序配置文件:G:\\ 20130204 \\ SourceCode \\ Defraz.Movafaqiyat.WebApp \\ Defraz.Movafaqiyat.WebApp \\ web.config日志:使用主機配置文件:C:\\ Users \\ jahan \\ Documents \\ IISExpress \\ config \\ aspnet .config日志:使用C:\\ Windows \\ Microsoft.NET \\ Framework \\ v4.0.30319 \\ config \\ machine.config中的計算機配置文件。 日志:后策略引用:System.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35日志:嘗試下載新的URL文件:/// C:/ Users / jahan / AppData / Local / Temp / Temporary ASP.NET Files / root / bc5b37d0 / 42db0b24 / System.Web.Mvc.DLL。 日志:嘗試下載新的URL文件:/// C:/ Users / jahan / AppData / Local / Temp / Temporary ASP.NET Files / root / bc5b37d0 / 42db0b24 / System.Web.Mvc / System.Web.Mvc.DLL 。 日志:嘗試下載新的URL文件:/// G:/20130204/SourceCode/Defraz.Movafaqiyat.WebApp/Defraz.Movafaqiyat.WebApp/bin/System.Web.Mvc.DLL。 警告:比較程序集名稱導致不匹配:主要版本錯誤:無法完成程序集的設置(hr = 0x80131040)。 探測終止。

堆棧跟蹤:

[FileLoadException:無法加載文件或程序集'System.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依賴項之一。 定位的程序集的清單定義與程序集引用不匹配。 (HRESULT異常:0x80131040)]
ClientDependency.Core.Mvc.MvcFilter.ValidateCurrentHandler()+ 0
ClientDependency.Core.Module.ClientDependencyModule.b__0(IFilter f)+31 System.Linq.Enumerable.Any(IEnumerable 1 source, Func 2 predicate)+146
ClientDependency.Core.Module.ClientDependencyModule.ValidateCurrentHandler(IEnumerable`1過濾器)+127
ClientDependency.Core.Module.ClientDependencyModule.HandleRequest(Object sender,EventArgs e)+179
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+ 136 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean&completedSynchronously)+69

注意:IIS上發布的項目在win7和win8中運行良好。 我的項目不是基於ASP.NET MVC。 請幫我。

我們使用Azure雲來運行部署,我得到了同樣的錯誤。 由於您無法真正將軟件包安裝到服務器實例上,解決此問題的方法是進入項目的引用,查找缺少其抱怨的庫的引用,轉到屬性,然后將Copy Local設置為True。 重新部署,你就完全了。

我假設這是一台新機器,因為你有新的操作系統和不同版本的Visual Studio。 我認為您需要安裝MVC Framework版本2,因為這是您的Umbraco安裝所期望的。 您可以安裝Framework,將DLL添加到GAC中,也可以將DLL從良好的系統復制到Web應用程序的bin文件夾中。

注意,你說你的項目“不使用”MVC,但我想你會發現Umbraco的確如此。 無論如何,錯誤告訴您系統希望找到它。

這個問題的正確解決方法是:

  1. 右鍵單擊Solution Explorer References ,然后選擇Manage NuGet Packages
  2. 在左側選擇Updates
  3. 在中間部分選擇Microsoft ASP.NET MVC
  4. 您應該會在選擇中看到“ Update按鈕,然后單擊它

就是這樣......接受任何可能彈出並在本地發布或運行項目的條款和條件。 如果您仍然無法在本地運行項目,請嘗試關閉Visual Studio,刪除項目的.SUO文件,然后嘗試再次打開解決方案...再次嘗試運行。

Umbraco 4.11.3不使用MVC2,它使用MVC3所以我猜你在web.config中有一個引用到MVC2庫,可能在compilation > assemblies部分。 它應該看起來像這樣:

<compilation defaultLanguage="c#" batch="false" targetFramework="4.0" debug="true">
  <assemblies>
    <!-- ASP.NET 4.0 Assemblies -->
    <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
    <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
    <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
    <add assembly="System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
    <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  </assemblies>
  <!-- Added in Umbraco 4.6.2 -->
  <buildProviders>
    <add extension=".cshtml" type="umbraco.MacroEngines.RazorBuildProvider, umbraco.MacroEngines" />
    <add extension=".vbhtml" type="umbraco.MacroEngines.RazorBuildProvider, umbraco.MacroEngines" />
    <add extension=".razor" type="umbraco.MacroEngines.RazorBuildProvider, umbraco.MacroEngines" />
  </buildProviders>
  <!-- End of added in Umbraco 4.6.2 -->
</compilation>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM