本文將介紹透過擴充管理員升級NuGet Package Manager失敗的可能解決方案。
Visual Studio 2010 已經整合 NuGet Manager,可以用來很方便的擴充 Visual Studio 的功能,若您嘗試從擴充管理員升級NuGet Manager時,遇到【NuGet Package Manager 的安裝版本已經過簽署,但更新版本的簽章無效】的錯誤訊息(如下圖),該如何排除?本文提供可能的解決方案。
2012/1/10 上午 10:34:10 - Microsoft Visual Studio Extension Installer
2012/1/10 上午 10:34:10 - -------------------------------------------
2012/1/10 上午 10:34:11 - Initializing Install...
2012/1/10 上午 10:34:11 - 擴充功能詳細資料...
2012/1/10 上午 10:34:11 - Identifier : NuPackToolsVsix.Microsoft.67e54e40-0ae3-42c5-a949-fddf5739e7a5
2012/1/10 上午 10:34:11 - Name : NuGet Package Manager
2012/1/10 上午 10:34:11 - Author : Microsoft Corporation
2012/1/10 上午 10:34:11 - Version : 1.6.21215.9133
2012/1/10 上午 10:34:11 - Description : A collection of tools to automate the process of downloading, installing, upgrading, configuring, and removing packages from a VS Project.
2012/1/10 上午 10:34:11 - Locale : en-US
2012/1/10 上午 10:34:11 - MoreInfoURL : http://docs.nuget.org/
2012/1/10 上午 10:34:11 - InstalledByMSI : False
2012/1/10 上午 10:34:11 - MinFramework : 4.0
2012/1/10 上午 10:34:11 - MaxFramework : 4.0
2012/1/10 上午 10:34:11 -
2012/1/10 上午 10:34:11 - 支援的 Visual Studio 版本 :
2012/1/10 上午 10:34:11 - Version : 10.0
2012/1/10 上午 10:34:11 - Pro
2012/1/10 上午 10:34:11 - IntegratedShell
2012/1/10 上午 10:34:11 - VWDExpress
2012/1/10 上午 10:34:11 - VPDExpress
2012/1/10 上午 10:34:11 - Version : 11.0
2012/1/10 上午 10:34:11 - Pro
2012/1/10 上午 10:34:11 - IntegratedShell
2012/1/10 上午 10:34:11 - VWDExpress
2012/1/10 上午 10:34:11 - VPDExpress
2012/1/10 上午 10:34:11 -
2012/1/10 上午 10:34:11 - 支援的隔離 Shell :
2012/1/10 上午 10:34:11 -
2012/1/10 上午 10:34:11 - 參考 :
2012/1/10 上午 10:34:11 -
2012/1/10 上午 10:34:13 - 此擴充功能將從版本 1.5.20902.9026 升級。
2012/1/10 上午 10:36:39 - 已選取下列目標產品...
2012/1/10 上午 10:36:39 - Microsoft Visual Studio 2010 Ultimate
2012/1/10 上午 10:36:39 -
2012/1/10 上午 10:36:39 - 更新前,正在確認相符的擴充簽章...
安裝的擴充路徑: C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft Corporation\NuGet Package Manager\1.5.20902.9026\
更新擴充路徑: c:\users\user1\appdata\local\temp\tmp4805.tmp
2012/1/10 上午 10:36:39 - VSIXInstaller.SignatureMismatchException: 'NuGet Package Manager' 的安裝版本已經過簽署,但更新版本的簽章無效。因此,擴充管理員無法安裝更新。
於 VSIXInstaller.Common.VerifyMatchingExtensionSignatures(IInstalledExtension installedExtension, IInstallableExtension updateExtension)
於 VSIXInstaller.InstallProgressPage.BeginInstallVSIX(SupportedVSSKU targetAppID)
2012/1/10 上午 10:36:39 - 安裝錯誤 : VSIXInstaller.SignatureMismatchException: 'NuGet Package Manager' 的安裝版本已經過簽署,但更新版本的簽章無效。因此,擴充管理員無法安裝更新。
於 VSIXInstaller.Common.VerifyMatchingExtensionSignatures(IInstalledExtension installedExtension, IInstallableExtension updateExtension)
於 VSIXInstaller.InstallProgressPage.BeginInstallVSIX(SupportedVSSKU targetAppID)
首先從工具列選擇【工具>擴充管理員】來開啟擴充管理員。
由擴充管理員視窗中左側選擇全部,在中間的地方找到NuGet Package Manager後點選解除安裝。
點選【是】以解除NuGet Package Manager。
點選擴充管理員視窗左側的線上圖庫,可於視窗中間找到NuGet Package Manager後點選下載。
於下圖點選安裝。
如此一來便可順利安裝新版NuGet Package Manager,雖然需要先移除再重新安裝,不過還是可以順利完成升級。