5

以前は、 「マネージコードでインプロセスシェル拡張機能を記述しないでください」という推奨事項がありました。

ただし、.NET Framework4とIn-ProcessSide-by-Sideを使用すると、マネージコードでシェル拡張機能を記述しない主な理由を解決する必要があります。

そうは言っても、3つの質問があります。

  1. マネージコードでシェル拡張機能を記述しても大丈夫ですか?
  2. マネージコードでシェル拡張機能を作成する際に問題が発生する可能性がある場合、どの問題が発生しますか?
  3. アンマネージコードでシェル拡張機能を作成する理由は何ですか?
4

3 に答える 3

6

このMSDNの記事をチェックしてください:.NET Framework 4(C#、VB.NET)を使用したWindowsシェル拡張機能の作成-パート1 http://blogs.msdn.com/b/codefx/archive/2010/09/14/writing-windows -shell-extension-with-net-framework-4-c-vb-net-part-1.aspx

于 2010-09-22T07:17:43.563 に答える
3
  1. はい、大丈夫です。
  2. 大きな問題と時間の浪費は、マネージコードで宣言しなければならない大量のシェルインターフェイス、関数、構造などです。単一のパラメータの単一の誤った宣言でさえ、爆発、アクセス違反、メモリリークなどを引き起こす可能性があるため、非常に注意する必要があります。それ以外の場合は、追跡に数時間かかる可能性があります。
  3. 唯一の理由は、管理されていない言語を使用したい場合、または使用を余儀なくされた場合です。

EZNamespaceExtensions.Netをチェックしてください。これにより、上記の#2と、一般的な名前空間拡張の開発に必要な時間が(管理対象か非管理対象かに関係なく)排除されます。

于 2010-04-30T10:22:50.667 に答える
2

これで、.NET4マネージコードでシェル拡張機能を記述できます。.NET 3.5以前では、シェル拡張機能を記述しないようにする必要があります。これらの以前のバージョンは、相互に並行してインプロセスをサポートしていないためです。

于 2010-04-28T20:05:55.633 に答える