3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ASP.NETでエラー「見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。」

Posted at

エラー内容

ファイルまたはアセンブリ 'System.Web.Http, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'、またはその依存関係の 1 つが読み込めませんでした。見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。 (HRESULT からの例外:0x80131040)

マニフェストという英語の意味

マニフェスト【manifest】
https://www.weblio.jp/content/%E3%83%9E%E3%83%8B%E3%83%95%E3%82%A7%E3%82%B9%E3%83%88

名詞だと、「(船やトラックなどの)積荷目録」「乗客名簿」とのこと。日本では「政策宣言」としても使われる

「一覧表」くらいのニュアンスで捉えていいだろうか…

アセンブリマニフェストとは

ASPに限らず.NETのアセンブリは全て、アセンブリマニフェスト(というファイル)に
アセンブリメタデータ(アセンブリ内の要素の相互関係の情報など)が入っています。

アプリケーションを実行するのに何という名前のアセンブリのバージョンいくつを使うという一覧表のイメージ。(それ以外の情報も含まれますが。)

対応

今回のエラーは「System.Web.Http」というアセンブリの「Version=5.2.7.0」で読み込めない、という内容です。

Webアプリだといろいろなパッケージを追加でインストールすることがありますが、そうするとパッケージの依存関係が壊れることがよくあるそうです。確かにパッケージをいくつかインストールしたので、依存関係が壊れ、一部読み込めなくなったかもしれません。

そういう場合はパッケージをすべて再インストールすることで解消するようになります。

公式の再インストールの手順

Visual Studio のプロジェクトでは、パッケージへの参照が壊れてしまう状況が多々あります。 このような場合、パッケージの同じバージョンをアンインストールして再インストールすると、それらの参照は復元され動作するようになります。

nugetとpackages.configを使ってパッケージを管理していて、「パッケージ マネージャー コンソール」で全パッケージの再インストールを行ってみました。

パッケージマネージャーコンソールを開きます。
image.png

パッケージマネージャーコンソールで再インストールコマンドを実行します。

Update-Package -reinstall

image.png

処理が完了したら、プロジェクトを実行してみます。
正常に表示されるようになれば完了です。

参考

パッケージを全て再インストールしてみると治ることが多々あります。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?