1

wnvhtmlconvert という dll コンポーネントを使用して、html から pdf を生成しています。先週は正常に動作していましたが、デバッグ中にのみ COMException が発生するようになりました。

以下の出力エラー:

タイプ 'System.Runtime.InteropServices.COMException' の例外が System.Windows.Forms.dll で発生し、マネージド/ネイティブ境界の前に処理されませんでした

追加情報: 不明なエラー。

別のマシンでは、デバッグおよび公開時に正常に動作します。

私はすでに wnvhtmlconvert.dll を登録しようとしましたが、登録可能であってはならないため、おそらく不可能です。

なにか提案を?

タイ

4

3 に答える 3

2

ネイティブ コードのデバッグを処理するために、デバッグ オプションの 1 つが不適切に設定されています。これらのオプションのいくつかを切り替えて動作を停止するか、次の手順を実行してデバッグ オプションをインストールの既定値にリセットすることができます (VS 2015 に基づく - 自己責任で進めてください!)。

  1. Visual Studio のインスタンスが実行されていないことを確認し、Visual Studio を起動します
  2. メニュー オプションの [ツール] > [インポートおよびエクスポート設定...] に移動します。
  3. ウィザードから [すべての設定をリセット] を選択し、[次へ] をクリックします (設定は保存され、デバッグ設定を除いてすべて再インポートされます)。
  4. オプション YES を選択し、現在の設定を保存して NEXT をクリックします (元の設定はすべてバックアップされます)。
  5. デフォルトの環境を選択する必要がありますが、「Visual C#」などのように表示されない場合は正しい環境を選択し、[完了] をクリックします。設定が保存されます
  6. Visual Studio を使用して、メニュー オプション [ファイル] > [開く] > [ファイル...] に移動し、設定を保存したフォルダーを参照します。
  7. 拡張子「.XML」を設定ファイルに追加し、VS で開きます
  8. メニュー オプション [編集] > [詳細設定] > [ドキュメントの書式設定] に移動して、読みやすくします
  9. ファイルで XML エントリ/テキスト カテゴリ名="Debugger"を見つけます。
  10. このセクション全体をコメントアウトします (約 70 行のPropertyValue項目が含まれます)。
  11. ファイルを保存します (無効なデバッガー設定なしで元の設定をすべて再インポートできるようになりました)
  12. メニュー オプションの [ツール] > [インポートおよびエクスポート設定...] に移動します。
  13. ウィザードから IMPORT...SETTINGS を選択し、[次へ] をクリックします。
  14. NO, JUST IMPORT SETTINGS オプションを選択し、NEXT をクリックします。
  15. [MY SETTINGS] > [CurrentSettings.vssettings] リスト アイテムを選択し、[BROWSE] をクリックします。
  16. ブラウズ フィルタ (ブラウズ ウィンドウの右下) を SETTINGS FILES から ALL FILES に変更し、拡張子が .XML の設定ファイルを参照し、それを選択して開きます。
  17. [次へ] をクリックすると、オプションがインポートされます。1 つまたは 2 つのエラーが表示される場合がありますが、これは私にとっては問題ではありませんでした。

出来上がり - デバッガーのオプションだけがデフォルト設定のままになっています! これは私にとってはうまくいき、ネイティブ コードの周りの奇妙な動作は見られなくなりました。

幸運を!

于 2018-11-29T16:14:52.240 に答える
0

非 UI スレッドで何かを行っているか、参照を固定するのを忘れている可能性があります。

于 2012-07-13T21:21:56.403 に答える