我想要挑战一下C#的编程极限,正好有个项目需求需要扩展Shell,我就用C#开发Com库,弄完了,注册、修改注册表,加载扩展,Explorer地址访问异常,然后Shell退出,反复多次,最后发现,在Com组件加载的时候就异常了。花了2天时间找原因,最后在MSDN的知识库里面发现一个文章,叫我们在使用C#开发Shell扩展的时候要谨慎!因为,一个进程只能加载一个CLR,如果你的计算机上有好几个.net framework并存,特别是2和1.1完全不兼容的时候,你无法预计,Explorer加载的是哪一个版本的CLR,如果他已经加载的1.1的CLR,你的组件使用的是2的.net FrameWork那就惨了。这个问题在.net 3当中还没有得到解决。我的就是干了这么一件蠢事。到了星期五,星期二要上线了,没办法,花了一下午用Delphi写了个扩展了事。总算不用休息天加班。