web-dev-qa-db-ja.com

ファイルまたはアセンブリ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」またはその依存関係の1つをロードできませんでした。検出されたアセンブリのマニフェスト定義は、アセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)

説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーの詳細とコードのどこで発生したかについては、スタックトレースを確認してください。

例外の詳細:System.IO.FileLoadException:ファイルまたはアセンブリ「System.Web.Mvc、Version = 2.0.0.0、Culture = neutral、PublicKeyToken = 31bf3856ad364e35」またはその依存関係の1つをロードできませんでした。検出されたアセンブリのマニフェスト定義は、アセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)

ソースエラー:

現在のWeb要求の実行中に、未処理の例外が生成されました。例外の発生元と場所に関する情報は、以下の例外スタックトレースを使用して特定できます。

アセンブリロードトレース:次の情報は、アセンブリ 'System.Web.Mvc、Version = 2.0.0.0、Culture = neutral、PublicKeyToken = 31bf3856ad364e35'をロードできなかった理由を判断するのに役立ちます。

===事前バインド状態情報===ログ:ユーザー= Jahan-PC\jahan LOG:DisplayName = System.Web.Mvc、Version = 2.0.0.0、Culture = neutral、PublicKeyToken = 31bf3856ad364e35(完全指定)ログ: Appbase = file:/// G:/20130204/SourceCode/Defraz.Movafaqiyat.WebApp/Defraz.Movafaqiyat.WebApp/ LOG:初期PrivatePath = G:\ 20130204\SourceCode\Defraz.Movafaqiyat.WebApp\Defraz.Movafaqiyat.WebApp\bin呼び出し元アセンブリ:ClientDependency.Core.Mvc、Version = 1.5.1.0、Culture = neutral、PublicKeyToken = null。 === LOG:このバインドはデフォルトのロードコンテキストで開始します。ログ:アプリケーション構成ファイルを使用: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。 WRN:アセンブリ名を比較すると、不一致が発生しました:メジャーバージョンERR:アセンブリのセットアップの完了に失敗しました(hr = 0x80131040)。プローブが終了しました。

スタックトレース:

[FileLoadException:ファイルまたはアセンブリ「System.Web.Mvc、Version = 2.0.0.0、Culture = neutral、PublicKeyToken = 31bf3856ad364e35」またはその依存関係の1つをロードできませんでした。検出されたアセンブリのマニフェスト定義は、アセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)]
ClientDependency.Core.Mvc.MvcFilter.ValidateCurrentHandler()+0
ClientDependency.Core.Module.ClientDependencyModule.b__0(IFilter f)+31 System.Linq.Enumerable.Any(IEnumerable1 source, Func2述語)+146
ClientDependency.Core.Module.ClientDependencyModule.ValidateCurrentHandler(IEnumerable`1 filters)+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に基づいていません。手伝ってください。

19
Jahan

Azureクラウドを使用してデプロイを実行していますが、同じエラーが発生しました。実際にパッケージをサーバーインスタンスにインストールすることはできないため、これを解決する方法は、プロジェクトの参照に移動し、文句を言っているライブラリへの参照を見つけ、プロパティに移動し、ローカルにコピーをTrueに設定します。再デプロイすれば、準備は完了です。

13
Lucent Fox

これは新しいマシンであり、新しいOSと異なるバージョンのVisual Studioを使用していることを前提としています。 MVC Frameworkバージョン2をインストールする必要があると思います。これは、Umbracoのインストールが期待していることです。フレームワークをインストールし、DLLをGACに取得するか、DLLを適切なシステムからWebアプリケーションのbinフォルダーにコピーできます。

プロジェクトはMVCを「使用しない」と言っていますが、UmbracoがMVCを使用していることに気付くでしょう。いずれにしても、エラーは、システムがそれを見つけることを期待していることを示しています。

6
Jonathan

この問題の正しい修正方法は次のとおりです。

  1. Solution ExplorerReferencesを右クリックし、Manage NuGet Packagesを選択します
  2. 左側でUpdatesを選択します
  3. 中央のセクションでMicrosoft ASP.NET MVCを選択します
  4. 選択にUpdateボタンが表示されるので、クリックします

それだけです...ポップアップする可能性のあるすべてのT&Cを受け入れ、プロジェクトをローカルで公開または実行します。それでもプロジェクトをローカルで実行できない場合は、Visual Studioを閉じてプロジェクトの.SUOファイルを削除し、ソリューションをもう一度開いてみてください...もう一度実行してください。

6
Serj Sagan

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>
3
Digbyswift