1

Utility.dll クラス ライブラリを参照するデプロイされた Web アプリケーション プロジェクトがあります。Utlity.dll に変更を加えて、その .dll のみをロールアウトしたいと考えています。問題は、これを行うと、サイトを起動しようとすると次のエラーが表示されることです。

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

Web アプリケーション プロジェクト全体 (Utlity.dll のみ) をロールアウトする必要がないように変更できる設定はありますか? ありがとう!

4

4 に答える 4

0

Webサイトのルートにある「web.config」ファイルに「Assemblies」セクションがあります。このセクションには、参照されているすべてのアセンブリに関する情報が格納され、Webアプリケーションはこのファイルに従ってアセンブリをロードします。参照されるすべてのアセンブリには、このセクションに次のようなレコードがあります。

<add assembly="Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>

Versionこのレコードの属性(私の例では値7.0.3300.0)を必要なバージョンに変更してみてください

于 2009-12-08T05:14:33.790 に答える
0

アセンブリのバージョンが変更された場合、バージョンを強制的に 1.0.0.0 に戻すことができます。

これはお勧めしませんが。

また、どのアセンブリを参照していますか?ユーティリティを更新したときに、それらも更新しましたか?

また、ライブラリが署名されていて、参照アセンブリが署名されたライブラリを期待している場合は、プロジェクト全体を更新するだけで済みます。

于 2009-12-07T19:36:30.920 に答える
0

ファイルAssembliesのセクションを変更して、アセンブリ バージョンを必要なバージョンに変更してみてくださいweb.config

于 2009-12-07T19:39:10.620 に答える
0

この問題を修正するために、web.config ファイルのアセンブリ バインディングを変更しました。既に存在する次の例を使用しました。

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35" />
      <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35" />
      <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>
于 2010-06-14T18:29:07.537 に答える