GACを介してプロジェクト ソリューションから他のアセンブリを参照しているプロジェクトからアセンブリを参照しているサードパーティのワークフロー ソフトウェア (Captaris Teamplate) があります。
アプリケーションが実行されると、Captaris Teamplate メソッドを呼び出してワークフロー プロセスを作成し、GAC のプロジェクト アセンブリを使用してデータをデータベースに保存します。
問題は、プロジェクトをコンパイルし、GAC からアセンブリを削除してそれらを新しいバージョンに置き換えるときですが、プロジェクト全体を実行すると、Captaris Teamplate がエラーをスローします。
例外の種類: System.IO.FileNotFoundException
メッセージ: ファイルまたはアセンブリ名 VBAssembly、またはその依存関係の 1 つが見つかりませんでした。
FileName: VBAssembly
FusionLog: === Pre-bind state information ===
LOG: DisplayName = VBAssembly, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
つまり、アセンブリ DLL ファイルの名前はわかりません。探しているバージョンも見つけようとしています。このような問題のトラブルシューティングは、暗闇での撮影のようなもので、ASP.NET 一時ファイル フォルダー、プロジェクト フォルダー、および Web サイト フォルダー (inetpub) に保持されている古いアセンブリの削除、再起動など、エラーのテスト、エラーの取得、他の古いアセンブリの検索など。
だから私の質問は:
- アセンブリの名前や欠落しているバージョンなど、この例外に関する詳細情報を抽出できる手法はありますか?
- コンパイル時にシステムから古いアセンブリ バージョンをすべてクリーンアップする簡単な方法はありますか?
- このDLL Hellおよび/または Captaris Teamplateに対処するための他の提案はありますか?
Captaris Workflow 5.0 を搭載した Visual Studio 2003 で ASP.NET バージョン 1.1 を使用しています。