配置されたアセンブリのマニフェスト定義がアセンブリ参照と一致しない

この記事では、ClickOnce アプリケーションの実行に失敗したときに発生するエラー (配置されたアセンブリのマニフェスト定義がアセンブリ参照と一致しません) を解決するのに役立ちます。

元の製品バージョン: .NET Framework 3.5 Service Pack 1
元の KB 番号: 971052

現象

ClickOnce アプリケーションに更新プログラムをインストールすると、アプリケーションの実行に失敗し、いくつかの古いバイナリの手掛かりが次のエラー メッセージと共に使用されます。

System.IO.FileLoadException: ファイルまたはアセンブリ XXXX、Version=x.x.x.x、Culture=neutral、PublicKeyToken=..を読み込めませんでした。またはその依存関係の 1 つ。 配置されたアセンブリのマニフェスト定義がアセンブリ参照と一致しません。 (HRESULT からの例外: 0x80131040)

原因

Microsoft .NET Framework 3.5 Service Pack 1 がインストールされ、ClickOnce ストアが初めて使用されると、cdf-ms ファイルが削除される可能性があります。 これは、レジストリ キー HKEY_CURRENT_USER\Software\Classes\Software\Microsoft\Windows\CurrentVersion\Deployment\ClickOnce35SP1Updateを削除することによっても発生する可能性があります。 cdf-ms ファイルが見つからないと、ClickOnce が同じバージョンで異なるファイル ハッシュを持つ厳密な名前付きアセンブリを誤って共有します。

解決方法

問題が発生する前に回避するには、更新された ClickOnce アプリケーションで使用しているすべての共有アセンブリに新しいアセンブリ バージョンがあることを確認します。

問題が既に発生している場合は、 を実行 mage.exe -ccしてオンライン キャッシュをクリアし、同じバージョンの厳密な名前付きアセンブリを持つ可能性があるインストール済みアプリケーションのすべてのバージョンをアンインストールし、アプリケーションを再インストールする必要があります。

Mage.exe は、次のようなさまざまな場所で利用できます。

  • .NET Framework 2.0 SDK

    .NET Framework 2.0 SDK は、Visual Studio 2005 セットアップのコンポーネントとして使用できます。

  • Windows Vista のWindows SDK

    Windows Vista のWindows SDKは、Microsoft ダウンロード センターからダウンロードできます。

  • Visual Studio 2008

    以降のバージョンの Mage.exe と MageUI.exe は、Visual Studio 2008 セットアップのコンポーネントとして含まれています。