我目前正在嘗試創建一個自定義Shell命名空間擴展(用於呈現包含「子文件夾」和「文件」的虛擬文件夾,它實際上是分層樹中數據的表示形式來自遠程服務的結構)。這個擴展名是C#編寫的,我知道這個擴展名是個不錯的主意,但是自從.NET 4引入了不同版本的.NET運行時在同一個進程中共存的可能性以來,我想到了這一點限制不再是一個問題。Shell命名空間擴展無法在Windows 7中加載
到目前爲止,我已經通過遵循網絡上提供的大量示例和參考資料,在Windows XP中正常工作,但是當我在Windows 7中嘗試它時(我還沒有在Vista中嘗試過它,所以我不不知道它是否會在那裏工作),擴展沒有加載。根據我的調試日誌輸出,它的寄存器很好,但是當我打開一個Windows資源管理器窗口時,沒有任何通常的COM接口調用似乎發生(通常以IPersistFolder :: Initialize開始)。實際上,甚至不會調用類構造函數。我不知道接口是否被查詢(成功與否),因爲我不知道如何在.NET中檢測到,因此我可以記錄它。所以,基本上,我沒有任何線索可以通過,因爲即使在我有機會記錄關於可能出錯的任何有用信息之前它也會失敗。
有沒有人碰巧有什麼想法可能是什麼問題?在處理我應該注意的shell命名空間擴展時,Windows 7中是否有任何與Windows XP相反的特性?如果需要更多的細節,請隨時詢問(我試圖保持簡短,因爲我確信沒有人會喜歡我複製&粘貼我的整個代碼在這裏,我不能削減到相關的部分,因爲我根本就不知道這些是哪些......)
這個......擴展名編譯爲32位,而Windows 7是64位?.. – GSerg
不,這是一個32位的Win 7;我希望這個解決方案很簡單... –
這並不回答你的問題,但.NET命名空間擴展不支持.NET http://msdn.microsoft.com/en-us/library/windows/desktop/dd758089( v = vs.85)的.aspx。 –