タグ付けされた質問 「com-interop」

30
Excelの相互運用オブジェクトを適切にクリーンアップするにはどうすればよいですか?
私はC#(ApplicationClass)でExcel相互運用機能を使用しており、finally句に次のコードを配置しています。 while (System.Runtime.InteropServices.Marshal.ReleaseComObject(excelSheet) != 0) { } excelSheet = null; GC.Collect(); GC.WaitForPendingFinalizers(); この種の動作はしExcel.exeますが、Excelを閉じた後でも、プロセスはバックグラウンドにあります。アプリケーションが手動で閉じられたときにのみリリースされます。 私は何を間違っていますか、または相互運用オブジェクトが適切に破棄されることを保証する代替手段はありますか?
747 c#  excel  interop  com-interop 

17
次のエラーのため、CLSID {XXXX}のコンポーネントのCOMクラスファクトリを取得できませんでした:80040154
C#.NETを使用してPDFレポートを生成するWindowsサービスを開発しました。PDFファイルを生成するには、サードパーティのDLLを使用しています。アプリケーションはWindows XPプラットフォームで実行されています。Windows Server 2008 64ビットバージョンでサービスを展開すると、次のエラーが発生しました。 CLSID {46521B1F-0A5B-4871-A4C2-FD5C9276F4C6}のコンポーネントのCOMクラスファクトリの取得は、次のエラーのため失敗しました:80040154。 regsvr32コマンドを使用してDLLを登録しました。レジストリでこのCLSIDを確認できました。しかし、問題は解決しません。 何が問題でしょうか?

15
「メモリリーク」の構造
.NETの観点では: メモリリークとはですか? アプリケーションがリークしているかどうかをどのように判断できますか?どのような影響がありますか? どのようにしてメモリリークを防ぐことができますか? アプリケーションにメモリリークがある場合、プロセスが終了するか強制終了されるとアプリケーションは消えますか?または、アプリケーションのメモリリークは、プロセスの完了後でもシステムの他のプロセスに影響を与えますか? また、COM InteropやP / Invokeを介してアクセスされるアンマネージコードについてはどうでしょうか。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.