私は、Access、Excel、Word、PowerPoint、Outlookなどの複数のMicrosoftOffice製品に大きく依存するアプリケーションを開発しています。相互運用性について調査していると、VS2010と.NET 4から、ありがたいことに、PIAの悪夢を経験する必要がなくなったことがわかりました。
さらに、私は物の適切な処分に関する多くの記事を読んでいますが、最も賢明なものはこれであるように思われました。
ただし、この記事は5年前のものであり、AFAIKという主題に関する権威ある出版物は多くありません。上記のリンクからのコードのサンプルは次のとおりです。
' Cleanup:
GC.Collect()
GC.WaitForPendingFinalizers()
GC.Collect()
GC.WaitForPendingFinalizers()
Marshal.FinalReleaseComObject(worksheet)
oWB.Close(SaveChanges:=False)
Marshal.FinalReleaseComObject(workbook)
oApp.Quit()
Marshal.FinalReleaseComObject(application)
私が知りたいのは、今日の基準によるものです。これはどれほど正確であり、今後数年間アプリケーションをサポートする予定がある場合は、何に注意する必要がありますか?
更新:いくつかの信頼できる記事へのリンクをいただければ幸いです。ちなみに、これはサーバー側のアプリケーションではありません。これは、ユーザーがインスタンス化するオフィス製品と対話するコンピューターラボで実行されます。
見つけた: この3部構成の記事は、おそらく私が見つけたいと思う権威あるアカウントに最も近いものです。