早些时候,NuGet Package Manager 发布新的版本,在vs2010中选择更新,但是一直以来都报告错误。
搜索了很久发现很多人都有这个问题,但是国内却没有什么介绍。过年前比较忙于其它事情,没有怎么用VS2010。
今天仔细看了看错误信息,内容如下:
2012/1/27 20:59:17 - Microsoft Visual Studio Extension Installer 2012/1/27 20:59:17 - ------------------------------------------- 2012/1/27 20:59:17 - Initializing Install... 2012/1/27 20:59:17 - 扩展详细信息... 2012/1/27 20:59:17 - Identifier : NuPackToolsVsix.Microsoft.67e54e40-0ae3-42c5-a949-fddf5739e7a5 2012/1/27 20:59:17 - Name : NuGet Package Manager 2012/1/27 20:59:17 - Author : Microsoft Corporation 2012/1/27 20:59:17 - Version : 1.6.21215.9133 2012/1/27 20:59:17 - Description : A collection of tools to automate the process of downloading, installing, upgrading, configuring, and removing packages from a VS Project. 2012/1/27 20:59:17 - Locale : en-US 2012/1/27 20:59:17 - MoreInfoURL : http://docs.nuget.org/ 2012/1/27 20:59:17 - InstalledByMSI : False 2012/1/27 20:59:17 - MinFramework : 4.0 2012/1/27 20:59:17 - MaxFramework : 4.0 2012/1/27 20:59:17 - 2012/1/27 20:59:17 - 支持的 Visual Studio 版本 : 2012/1/27 20:59:17 - Version : 10.0 2012/1/27 20:59:17 - Pro 2012/1/27 20:59:17 - IntegratedShell 2012/1/27 20:59:17 - VWDExpress 2012/1/27 20:59:17 - VPDExpress 2012/1/27 20:59:17 - Version : 11.0 2012/1/27 20:59:17 - Pro 2012/1/27 20:59:17 - IntegratedShell 2012/1/27 20:59:17 - VWDExpress 2012/1/27 20:59:17 - VPDExpress 2012/1/27 20:59:17 - 2012/1/27 20:59:17 - 支持的独立 shell : 2012/1/27 20:59:17 - 2012/1/27 20:59:17 - 引用 : 2012/1/27 20:59:17 - 2012/1/27 20:59:18 - 将从版本 1.5.20902.9026 升级该扩展。 2012/1/27 20:59:21 - 已选择以下目标产品... 2012/1/27 20:59:21 - Microsoft Visual Studio 2010 Ultimate 2012/1/27 20:59:21 - 2012/1/27 20:59:21 - 请先验证匹配的扩展签名再进行更新... 已安装扩展路径: C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft Corporation\NuGet Package Manager\1.5.20902.9026\ 更新扩展路径: c:\users\w510_64_u\appdata\local\temp\tmp57be.tmp 2012/1/27 20:59:21 - VSIXInstaller.SignatureMismatchException: “NuGet Package Manager”的更新版本上的签名与已安装版本上的签名不匹配。因此,扩展管理器无法安装更新。 在 VSIXInstaller.Common.VerifyMatchingExtensionSignatures(IInstalledExtension installedExtension, IInstallableExtension updateExtension) 在 VSIXInstaller.InstallProgressPage.BeginInstallVSIX(SupportedVSSKU targetAppID) 2012/1/27 20:59:21 - 安装错误: VSIXInstaller.SignatureMismatchException: “NuGet Package Manager”的更新版本上的签名与已安装版本上的签名不匹配。因此,扩展管理器无法安装更新。 在 VSIXInstaller.Common.VerifyMatchingExtensionSignatures(IInstalledExtension installedExtension, IInstallableExtension updateExtension) 在 VSIXInstaller.InstallProgressPage.BeginInstallVSIX(SupportedVSSKU targetAppID)
是版本签名不匹配的问题造成的,选择卸载也没有办法卸载该工具。因为在vs2010里面唯独这个工具在扩张管理器里面是无法卸载的。
说是没有权限,但是我使用管理员权限也无法卸载。
最终我干脆到上面所说的vs2010的扩展文件夹下面把这个Nuge Package Manager文件夹给干掉。
呵呵,重新启动vs2010之后,竟然vs2010扩展管理器里面没有再显示安装了此扩展了。
于是到连机库里面找到该扩展,并进行安装。
问题解决。
同时发现微软的这些扩展包都是在C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions这个目录下面,如果对文件夹进行更名的话,VS2010重启之后还是能够加载该文件夹下的扩展工具。
这说明这些安装的扩展工具并没有在注册表或者vs的其它配置文件中写入什么东西来记录,只是通过该文件夹来进行识别的。