2011-03-26 94 views

回答

0

您不應該在.net中編寫shell擴展。 .net要求將運行時加載到加載外殼擴展的每個進程中。這是很多例如,打開/關閉文件對話框使用shell。

這會導致版本控制問題,因爲無法在同一進程中加載​​.net 1和2。而且它也浪費資源。

解決方法是在本地代碼中編寫shell擴展,並使用以.net編寫的幫助程序進程。

見Raymond Chen的博客:Do not write in-process shell extensions in managed code

+0

我使用.NET4(它可以在NET4做),但我還是謝謝你。 – apaka 2011-03-26 17:47:23

+0

我仍然避免它,因爲將.net運行時加載到這麼多的進程浪費了很多內存。 – CodesInChaos 2011-03-26 17:54:40