2

VB.NET 3.5 で Kofax Capture 9.0 / 10.0 の検証スクリプトを作成中です。管理モジュールを使用してスクリプトを作成する方法と、それを操作する方法を知っています。

問題は、リモート マシンにある dll を参照する必要があることです。(GAC はオプションではありません) この dll は、各検証スクリプトで必要な抽象クラスを保持します。

dll をローカルに配置する (ローカルにコピーする) 場合でも、プロジェクトが完全にコンパイルされていても、検証モジュール (index.exe) はすぐに「参照が見つかりません」という例外をスローします。

基本的な質問は、検証モジュールが dll を見つけられるように、dll をどこに置くかということになると思います。

4

2 に答える 2

1

すべてのライブラリ ファイルを「リンク」としてプロジェクトに追加するという解決策が見つかりました。(追加 --> 既存のファイル --> "追加" の横にある小さな矢印--> リンクとして追加) これにより、プロジェクトをビルドするときにファイルがコンパイルされます。Kofax Validation Module はファイルを見つけることができるようになりましたが、ファイルを参照するときは見つかりませんでした。なぜ出来なかったのかは謎のまま…

于 2014-01-27T10:05:36.130 に答える
1

簡単な答えは、アプリケーションと同じフォルダーに dll を配置することです。これは、.NET が検索時にプローブする場所の 1 つだからです。Validation モジュールは、「C:\Program Files (x86)\Kofax\CaptureSS\ServLib\Bin\」のような Capture bin ディレクトリから実行されます。これは、検証を使用して各クライアントで実行する必要があります。

より複雑なシナリオの場合は、AppDomain.AssemblyResolve イベントを実装し、 Assembly.LoadFileを使用してカスタムの場所からアセンブリを取得できますが、bin パスを使用する方がそれほど複雑ではありません。

さらに問題が発生した場合は、アセンブリ バインド ログ ビューアー (Fuslogvw.exe)を使用してトラブルシューティングを行うことができます。これにより、アセンブリの読み込みに失敗した理由と、.NET がアセンブリを検索しようとした場所に関する詳細を知ることができます。アセンブリの読み込みは、パス以外の理由で失敗する可能性があります。

.NET がアセンブリを読み込む方法の詳細については、次を参照してください。

于 2014-01-12T22:46:31.173 に答える