出处:http://hi.baidu.com/dgxx_rzm/blog/item/c1fbf6f3bf907658342acc78.html
星期天在家安装了ASP.NET MVC 1.0 和 Enterprise Library 4.1 后,发现我的所有.sln文件图标都没有了,但还是能够打开项目。这下把我郁闷了,在网上搜了搜,最终还是没有找到解决办法。
虽然没有多大影响,但是总觉得不舒服,于是决定抽时间解决该问题。
找同事把他机子上的注册表备份了一下(因为他的机子上也安装了VS2008的)。
收到备份文件后,首先用RegScanner查询了一下自己机子上的注册表中与.sln相关的键值。发现了
[HKEY_CLASSES_ROOT/VisualStudio.Launcher.sln/ShellEx/IconHandler]
@="{9A2B23E4-2A50-48DB-B3C3-F5EA12947CB8}"
关键是 9A2B23E4-2A50-48DB-B3C3-F5EA12947CB8 这个东东。
然后再顺藤摸瓜搜索与 9A2B23E4-2A50-48DB-B3C3-F5EA12947CB8 相关的键值。然后对比备份的reg文件中的相应键值。哈哈,终于有出处的地方了,在我的注册表中的
HKEY_CLASSES_ROOT/CLSID/{9A2B23E4-2A50-48DB-B3C3-F5EA12947CB8}/InprocServer32 和 HKEY_LOCAL_MACHINE/SOFTWARE/Classes/CLSID/{9A2B23E4-2A50-48DB-B3C3-F5EA12947CB8}
/InprocServer32 目录下什么都没有。
而在备份的文件中则是这样的:
[HKEY_CLASSES_ROOT/CLSID/{9A2B23E4-2A50-48DB-B3C3-F5EA12947CB8}/InprocServer32]
@="C://Program Files//Common Files//Microsoft Shared//MSEnv//VSFileHandler.dll"
"ThreadingModel"="Apartment"
[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/CLSID/{9A2B23E4-2A50-48DB-B3C3-F5EA12947CB8}/InprocServer32]
@="C://Program Files//Common Files//Microsoft Shared//MSEnv//VSFileHandler.dll"
"ThreadingModel"="Apartment"
于是我就照样修改了我的注册表,哈哈,.sln的图标终于出来了。
希望遇到该类似问题的朋友,这篇文章能够对你有所帮助。
欢迎转载,但请注明此文章出处。Thanks!