2

最近、QBFCインターフェイスを介してQuickbooksと通信するC#Winformsアプリケーションを継承しました。アプリケーションには、COMサーバーInterop.QBFC7.dllへの参照が含まれています。このアプリケーションは、テスト環境といくつかのクライアント環境で正常に動作します。ただし、昨日、新しい顧客のシステムにインストールしようとすると、次のエラーが発生し続けました。

ファイルまたはアセンブリを読み込めませんでした'Interop.QBFC、Version = 8.0.0.87、Culture = neutral、PublicKeyToken=...'またはその依存関係の1つ。システムは、指定されたファイルを見つけることができません。

さまざまなバージョンのQuickbooks(つまり、2008年からEnterprise 11.0までのQuickbooksPro、Premier、Enterprise)でこのアプリケーションを実行しているお客様が何人かいることを私は知っています。私の知る限り、これはEnterprise12.0を搭載したこのアプリケーションの展開を試みた最初の顧客です。

問題を解決するために次のことを試みましたが、成功しませんでした。

1)Intuit Developer NetworkサイトからQBFC7_Installerをインストールします。2)IntuitDeveloperNetworkサイト
からQuickbooksSDK10インストーラーをインストールします
。3)Interop.QBFC7.dllファイルがファイルシステムに存在することを確認します。
4)コマンドプロンプトを介してCOMオブジェクトInterop.QBFC7.dllを手動で登録しようとしました:zippy32 Interop.QBFC7.dll(これも失敗し、Windowsはオブジェクトが見つからないことを示すエラーを返します)。

この問題を解決するために私が試みることができる追加の事柄について誰かが提案やフィードバックを持っていますか?異なるオペレーティングシステム(つまり、Windows Server 2008、Windows 7、およびWindows Vista)を実行しているサイトの3つの異なるマシンで同じエラーが発生しますか?また、x86ビット構成と64ビット構成の両方でコンパイルしてみましたが、役に立ちませんでした。

助けてくれてありがとう。

4

1 に答える 1

0

まず、x86ビルドのみをターゲットにする必要があります。Any CPUまたはをターゲットにすると、QuickBooksSDKは機能しませんx64。ただし、主な問題は、間違ったバージョンのQBFCを探していることです。エラーメッセージのバージョンスタンプに注意してください。

ファイルまたはアセンブリを読み込めませんでした'Interop.QBFC、Version = 8.0.0.87、Culture = neutral、PublicKeyToken=...'またはその依存関係の1つ。システムは、指定されたファイルを見つけることができません

これはQBFC8であり、QBFC7ではありません。したがって、QBFC8インストーラーの問題を修正できるはずです。

QBFC 8(または7)は2008およびEnterprise 11または12で動作するため、QuickBooksのバージョンに違いはありません。

将来この問題を回避するために、セットアッププロジェクトを使用してアプリケーションをインストールすることを検討する必要があります。セットアッププロジェクトは、QBFCの依存関係を自動的に検出する必要があります。これが発生していることを確認したら、セットアッププロジェクトのSearchPathプロパティに移動し、マシンにインストールされているSDKからMergeModuleディレクトリを追加します。これを行うと、QBFCとXercesのマージモジュールが依存関係としてプロジェクトに自動的に追加されることがわかります。もちろん、コードをより新しいバージョンのQBFCに更新する必要もありますが、いずれにしてもそれはおそらく良い考えです。

于 2012-04-13T20:04:11.340 に答える