VS2010 Extensions PathTooLongException彻底解决方法
Posted on 2013-09-23 12:12 上海•鹰 阅读(1711) 评论(0) 编辑 收藏 举报VS2010有很多好用的第三方扩展,可以通过扩展管理器安装。但是安装时有时会遇到PathTooLongException,无法安装成功。
问题分析:
通过分析安装日志,发现引起PathTooLongException的原因主要是VS2010缺省把第三方扩展安装在Application Data目录下,系统宏为$AppDataLocalFolder$,一般是在如下路径:C:\Documents and Settings\Administrator\Local Settings\Application Data\Microsoft\VisualStudio\10.0,再加上扩展路径“\Extensions”和扩展本身的目录路径,超出了完整目录长度255的限制,只要替换掉这个路径就应该可以解决。
解决方案 (必须使用管理员权限):
1. 在C盘根目录下建立新文件夹:VS2010Extensions,完整路径为C:\VS2010Extensions
2. VS2010第三方扩展安装路径定义修改:
打开文件devenv.pkgdef,一般在<VS2010安装路径>\Common7\IDE\下,
比如,我的环境就是在C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.pkgdef
找到行 "UserExtensionsRootFolder" = "$AppDataLocalFolder$\Extensions",把$AppDataLocalFolder$\Extensions替换成新建的Extensions目录C:\VS2010Extensions,两边的引号保留。
Add:
把"UserExtensionsRootFolder" = "C:\VS2010Extensions"移动到行"PkgDefSearchPath"上面,在"PkgDefSearchPath"对应的字串中添加";$UserExtensionsRootFolder$", 注意有分号分隔。
保存文件devenv.pkgdef。
3. (可选) 打开注册表:regedit, 找到HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\ExtensionManager\EnabledExtensions,安装过的扩展注册项都在这里。
逐个替换路径中的Extensions之前的部分(包括Extensions)为新建的Extensions目录C:\VS2010Extensions。
4. 复制已安装的扩展文件:
把C:\Documents and Settings\Administrator\Local Settings\Application Data\Microsoft\VisualStudio\10.0\Extensions中的目录复制(或剪贴)到C:\VS2010Extensions下。
5. 重启VS2010, 扩展管理器中启用已安装的扩展, OK
6. 以后再安装新的扩展是,系统自动安装到新建的Extensions目录C:\VS2010Extensions中。
至此,完美解决烦人的PathTooLongException问题。
没找到VS2010中哪里定制这个路径,如哪位看客知道,请留言, 不胜感激, 再补充进来。
写完上面的文字才发现下面的东东:
1. 还有一个工具:ExtensionSync
2. MSDN上给出详细解决方案: