web-dev-qa-db-ja.com

MVC3展開の依存関係の問題

MVC3アプリケーションをIIS7ホスティング環境にデプロイしようとしましたが、次の例外が表示されます。

アセンブリ「Microsoft.Web.Infrastructure、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = 31bf3856ad364e35」からタイプ「Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility」をロードできませんでした。説明:現在のWeb要求の実行中に未処理の例外が発生しました。エラーの詳細およびコードのどこで発生したかについては、スタックトレースを確認してください。

例外の詳細:System.TypeLoadException:アセンブリ「Microsoft.Web.Infrastructure、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = 31bf3856ad364e35」からタイプ「Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility」をロードできませんでした。

助言がありますか?

Webサーバー自体にASP.Net WebページとMVC3をインストールしたため、アプリはビン展開されていません。

28
Phil.Wheeler

それの訳は Microsoft.Web.InfrastructureはGACにありません。この参照をプロジェクトに追加する必要があります。参照を右クリックしてプロパティに移動し、ローカルにコピーをtrueに設定します。

Copy Local

出力(NinjectとNCUを無視):

alt text

50
Shawn Mclean

リファレンスクリーニングを実行した後、Microsoft.Web.Infrastructureを削除しましたが、packages.configファイルからは削除しませんでした。 Package Manager Consoleを使用して再度追加しようとすると、Visual Studioは既にインストールされていると表示しますが、削除されたためfalseです。

次に、packages.configファイルのコード行を削除しました

<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />

そして、コマンドを再度実行しました

PM> Install-Package Microsoft.Web.Infrastructure

この後、今では正常に動作します。

9
riaandl

Microsoft.Web.InfrastructureはNugetパッケージになりました。プロジェクトに追加して、binディレクトリの展開を有効にできます-

http://nuget.org/packages/Microsoft.Web.Infrastructure

5
Jason

サーバー上のルートweb.configファイル(次のような場所にあることを確認してください:C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config)には次のエントリがあります。

<configuration>
  <location allowOverride="true">
    <system.web>
      <fullTrustAssemblies>
        <add
          assemblyName="Microsoft.Web.Infrastructure"
          version="1.0.0.0"
          publicKey="[bunch of letters and numbers]"
        />

見つからない場合は、誰かが.NET 4インストールを台無しにしていることを意味します。

2
marcind

microsoft.Web.Infrastructure.dllをダウンロードして、binフォルダーにコピーしてください!

0
javidasd