0

サードパーティのdllを利用するデスクトップアプリケーションをテストターミナルサーバーに展開して、その可用性を報告しました。私のテストでは、次のエラーが発生しました。

An unhandled exception of type 'System.IO.FileNotFoundException' occurred in General Purpose.dll

Additional information: Creating an instance of the COM component with CLSID {8EB296F1-6C46-4BC1-9F00-B49F14B57DB8} from the IClassFactory failed due to the following error: 800a0035.

これは、新しいサードパーティクラス(アプリケーションに不可欠なクラス)が作成されたときに発生します。私の知る限り、このような問題を抱えているサードパーティのクラスはこれだけですが、このDLLには1つしかありません。

アプリケーションは、通常のデスクトップで使用するためにClickOnceを使用して適切にデプロイされますが、TSセッションまたはサーバーコンソールでは機能しません。

すべてのDLLは「ローカルコピー」として設定されており、ユーザーのローカル設定「Apps \ 2.0\crazylongnamehere」フォルダーにコピーされたことを確認しました。

現在、シッククライアントがあり、シンクライアントは時間の経過とともにゆっくりと統合されるため、(MSIを介して)公開ルートを選択しました。

4

2 に答える 2

0

これらのターミナルサーバーの1つを使用していて、ClickOnceキャッシュにドリルダウンして、[exe]ファイルをダブルクリックした場合、それは機能しますか?それともクラッシュしますか?あなたがやろうとしていることをするために何かの特権が必要ですか?

于 2010-07-23T06:21:57.213 に答える
0

参照ファイルを出力場所にコピーして遊んだ後、ようやくアプリをTSで動作させることができました。

解決策は、参照されたdllをリンクされたアイテムとしてプロジェクトに追加し、プロパティを次のように変更することでした。

  • ビルドアクション:コンテンツ
  • 出力ディレクトリにコピー:常にコピー

これらの両方が更新されると、正しく機能しました。

于 2010-08-16T14:13:02.987 に答える