透過擴充管理員升級NuGet Package Manager失敗的可能解決方案

本文將介紹透過擴充管理員升級NuGet Package Manager失敗的可能解決方案。

Visual Studio 2010 已經整合 NuGet Manager,可以用來很方便的擴充 Visual Studio 的功能,若您嘗試從擴充管理員升級NuGet Manager時,遇到【NuGet Package Manager 的安裝版本已經過簽署,但更新版本的簽章無效】的錯誤訊息(如下圖),該如何排除?本文提供可能的解決方案。

 

 

image

 

 

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)

 

首先從工具列選擇【工具>擴充管理員】來開啟擴充管理員。

 

image

 

由擴充管理員視窗中左側選擇全部,在中間的地方找到NuGet Package Manager後點選解除安裝。

 

image

 

點選【是】以解除NuGet Package Manager。

 

image

 

點選擴充管理員視窗左側的線上圖庫,可於視窗中間找到NuGet Package Manager後點選下載。

 

image

 

於下圖點選安裝。

 

image

 

如此一來便可順利安裝新版NuGet Package Manager,雖然需要先移除再重新安裝,不過還是可以順利完成升級。

 

image