2009-05-25 12 views
1

私はC#で書かれたアプリケーションをインストールするためにClickOnceを使用しています。 0x80131040:ClickOnceキャッシュから古いアセンブリをインストールする

は... MyAssembly HRESULTをファイルまたはアセンブリをロードできませんでした:私のアプリケーションの起動された後、最後の更新が言ってエラー終了まですべてがうまく働きました。

私の調査では、アプリケーションのClickOnceキャッシュフォルダ(C:\ Documents and Settings .. \ Apps \ 2.0 ...)に古いバージョンのMyAssemblyがあることがわかりました。ただし、展開パッケージには実際のバージョンがあります。

このアセンブリの後に名前が付けられたClickOnceキャッシュ内のスタンドアロンディレクトリに、この古いバージョンのMyAssemblyが見つかりました(加えていくつかの文字が追加されました)。

何らかの理由でClickOnceが、この古いバージョンのMyAssemblyを、展開パッケージの新しいバージョンの代わりにキャッシュから使用していたようです。

アプリケーションのアンインストールとインストールは役に立ちません。

これはどのように可能ですか?

答えて

2

私は同じ動作をしました。それは別の問題の問題を述べました。それ以来、私たちはさまざまなアプリケーションで数回起こっています。一つの奇妙なことは、それが別のコンピュータで異なって動作することです。そのため、あるコンピュータは新しいアセンブリで更新され、別のコンピュータは古いアセンブリがコピーされている可能性があります。

.NET ClickOnce deployment and wrong assemblies called after updated version

これは、.NETフレームワーク3.5 SP1のバグに表示されます。

Microsoft KB 971052を参照してください。

+0

ありがとうFredrik –

0

この古いアセンブリがロードされていることを確認してください。あなたはそのためにDllProfilerを使うことができます。

関連する問題