2009-06-24 5 views
0

9.3バージョンがインストールされているマシンで、ベンダーのライブラリのバージョン9.1に対して構築されたアプリケーションのトラブルシューティングを試みています。ベンダーは、9.0以降のすべてのバージョンを9.3 dllにリダイレクトするパブリッシャポリシーファイルを提供し、GACにインストールされています。.NETアセンブリのバインドに失敗しました(リダイレクトの異なるバージョン)、変です!

バージョン9.2に対して構築された新しいバージョンのアプリケーションでは、パブリッシャポリシーファイルが検出され、すべてが正しく動作します。 9.1リンク版では、fuslogvwの結果でパブリッシャーポリシーファイルが全く言及されません。ここで

はfuslogvw-をから成功したロードの例です:

LOG: This bind starts in default load context. 
LOG: Using application configuration file: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe.Config 
LOG: Using machine configuration file from c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config. 
LOG: Publisher policy file is found at C:\WINDOWS\assembly\GAC_MSIL\policy.9.2.ESRI.ArcGIS.System\9.3.0.1770__8fc3cc631e44ad86\ESRI.ArcGIS.System.config. 
LOG: Publisher policy file redirect is found: 9.2.0.1324 redirected to 9.3.0.1770. 
LOG: ProcessorArchitecture is locked to MSIL. 
LOG: Post-policy reference: ESRI.ArcGIS.System, Version=9.3.0.1770, Culture=neutral, PublicKeyToken=8fc3cc631e44ad86, processorArchitecture=MSIL 
LOG: Found assembly by looking in the GAC. 
LOG: Binding succeeds. Returns assembly from C:\WINDOWS\assembly\GAC_MSIL\ESRI.ArcGIS.System\9.3.0.1770__8fc3cc631e44ad86\ESRI.ArcGIS.System.dll. 
LOG: Assembly is loaded in default load context. 

そして、ここでは失敗です:

LOG: This bind starts in default load context. 
LOG: Using application configuration file: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe.Config 
LOG: Using machine configuration file from c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config. 
LOG: Post-policy reference: ESRI.ArcGIS.System, Version=9.1.0.722, Culture=neutral, PublicKeyToken=8fc3cc631e44ad86 
LOG: GAC Lookup was unsuccessful. 
LOG: Attempting download of new URL file:///C:/Program Files/NatureServe/Vista/ESRI.ArcGIS.System.DLL. 
LOG: Attempting download of new URL file:///C:/Program Files/NatureServe/Vista/ESRI.ArcGIS.System/ESRI.ArcGIS.System.DLL. 
LOG: Attempting download of new URL file:///C:/Program Files/NatureServe/Vista/ESRI.ArcGIS.System.EXE. 
LOG: Attempting download of new URL file:///C:/Program Files/NatureServe/Vista/ESRI.ArcGIS.System/ESRI.ArcGIS.System.EXE. 
LOG: All probing URLs attempted and failed. 

注:表示名、文化、および公開キートークンが同一であり、 。

だから、(バージョン#のほかに)何が違うのですか? .NETがポリシーファイルを見つけるのはなぜですか?これを克服するためにはどのような黒魔術が必要でしょうか(9.1プラットフォームのサポートを落とすまで)

答えて

0

ああ、インターネット上であなたの問題を掲示するの魔法:

ポリシーファイルへのパスは、私だけと仮定することができますよ、フォルダ名の一部として「9.2」バージョン文字列を含んでいるように見えますつまり、ベンダーのライブラリの9.2バージョンの要求に対してのみ解決されることを意味します。

したがって、(ポリシーファイル自体がバージョン9.0以降をリダイレクトするため)インストールが不完全に見えます。

hereのように、アプリケーションの設定ファイルにリダイレクトすることができます。ベンダーのソフトウェアのどのバージョンが存在するかを条件とする必要があります。

私はそれが解決策としてあまりにも気にならないと認めます...

関連する問題