VSIXInstaller.NoApplicableSKUsException:此扩展无法安装在任何当前已安装的产品上

VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products

我最近在 visual studio 2015 年尝试安装企业库 6.0,但安装程序抛出错误:

VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products.

我无法解决。

19-Dec-16 9:59:48 AM - Microsoft VSIX Installer
19-Dec-16 9:59:48 AM - -------------------------------------------
19-Dec-16 9:59:48 AM - Initializing Install...
19-Dec-16 9:59:48 AM - Extension Details...
19-Dec-16 9:59:48 AM -  Identifier         : A42E118F-C41F-47A2-ADB5-04CDEBF8EB90
19-Dec-16 9:59:48 AM -  Name               : EnterpriseLibrary.Config.v6
19-Dec-16 9:59:48 AM -  Author             : Microsoft
19-Dec-16 9:59:48 AM -  Version            : 6.0.1304.1
19-Dec-16 9:59:48 AM -  Description        : Launches the Microsoft Enterprise Library v6 Configuration Console
19-Dec-16 9:59:48 AM -  Locale             : en-US
19-Dec-16 9:59:48 AM -  MoreInfoURL        : 
19-Dec-16 9:59:48 AM -  InstalledByMSI     : False
19-Dec-16 9:59:48 AM -  SupportedFrameworkVersionRange : [4.5]
19-Dec-16 9:59:48 AM - 
19-Dec-16 9:59:50 AM -  SignatureState     : ValidSignature
19-Dec-16 9:59:50 AM -  SignedBy           : Microsoft Corporation
19-Dec-16 9:59:50 AM -  Certificate Info   : 
19-Dec-16 9:59:50 AM -      -------------------------------------------------------
19-Dec-16 9:59:50 AM -      [Subject]       : CN=Microsoft Corporation, OU=MOPR, OU=OPC, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
19-Dec-16 9:59:50 AM -      [Issuer]        : CN=Microsoft Code Signing PCA, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
19-Dec-16 9:59:50 AM -      [Serial Number] : 33000000B2E6906F8BE7453D5B0001000000B2
19-Dec-16 9:59:50 AM -      [Not Before]    : 25-Jan-13 4:03:41 AM
19-Dec-16 9:59:50 AM -      [Not After]     : 25-Apr-14 4:03:41 AM
19-Dec-16 9:59:50 AM -      [Thumbprint]    : E4EEC5DFB7F413E5A15191DA00D017F97E3A6260
19-Dec-16 9:59:50 AM - 
19-Dec-16 9:59:50 AM -  Supported Products : 
19-Dec-16 9:59:50 AM -      Microsoft.VisualStudio.Ultimate
19-Dec-16 9:59:50 AM -          Version : [11.0]
19-Dec-16 9:59:50 AM -      Microsoft.VisualStudio.Premium
19-Dec-16 9:59:50 AM -          Version : [11.0]
19-Dec-16 9:59:50 AM -      Microsoft.VisualStudio.Pro
19-Dec-16 9:59:50 AM -          Version : [11.0]
19-Dec-16 9:59:50 AM - 
19-Dec-16 9:59:50 AM -  References         : 
19-Dec-16 9:59:50 AM -      -------------------------------------------------------
19-Dec-16 9:59:50 AM -      Identifier   : Microsoft.VisualStudio.MPF
19-Dec-16 9:59:50 AM -      Name         : Visual Studio MPF
19-Dec-16 9:59:50 AM -      Version      : [10.0,)
19-Dec-16 9:59:50 AM -      MoreInfoURL  : 
19-Dec-16 9:59:50 AM -      Nested       : No
19-Dec-16 9:59:50 AM - 
19-Dec-16 9:59:50 AM - Signature Details...
19-Dec-16 9:59:50 AM -  Extension is signed with a valid signature.
19-Dec-16 9:59:50 AM - 
19-Dec-16 9:59:50 AM - Searching for applicable products...
19-Dec-16 9:59:51 AM - Found installed product - Microsoft Visual Studio Professional 2015
19-Dec-16 9:59:51 AM - Found installed product - Microsoft Visual Studio Community 2015
19-Dec-16 9:59:51 AM - Found installed product - Microsoft Visual Studio 2015 Shell (Integrated)
19-Dec-16 9:59:51 AM - Found installed product - Global Location
19-Dec-16 9:59:51 AM - Found installed product - ssms
19-Dec-16 9:59:51 AM - VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products.
   at VSIXInstaller.App.InitializeInstall(Boolean isRepairSupported)
   at VSIXInstaller.App.InitializeInstall()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()

谁能帮帮我?

此 VSIX 仅设计用于 Visual Studio 版本 11(Visual Studio 2012),如错误所示 - 因此您可以使用该版本而不是 VS 2015。

这是版本列表:

  • VS 2019 版本 16
  • VS 2017 版本 15
  • VS 2015 版本 14
  • VS 2013 版本 12
  • VS 2012 版本 11

从日志文件中,我们可以得到这个扩展在VS 2012上是支持的ultimate/premium/professional,它发现安装的产品是VS 2015,所以错误信息“这个扩展不能安装在任何当前安装的产品”弹出窗口,我们也可以从 Microsoft Enterprise Library 6.

的系统要求中知道这一点

要解决这个问题,你可以看看this similar issue and directly download the Microsoft.Practices.EnterpriseLibrary.ConfigConsole.V6.VS2015.vsix (Source)并用它来安装,我这边很好。

你有它:

Supported Products : 
Microsoft.VisualStudio.Ultimate
Version : [11.0]
Microsoft.VisualStudio.Premium
Version : [11.0]
Microsoft.VisualStudio.Pro
Version : [11.0]

Visual Studio2015年是14.0版本

为了修改此扩展以允许支持 Visual Studio 2015,您必须进入 'Visual Studio扩展程序' 安装程序。

  1. 使用任何文件归档程序打开 .vsix 文件。 (我自己的 7-Zip)

  2. 找到 .visxmanifest 文件并编辑它。

  3. 保存对.visxmanifest文件的修改,退出然后运行 .vsix VS 扩展安装程序文件。

请注意,对于清单中的版本号,指定了一个明确的版本,它映射到 Visual Studio 的给定版本。 (例如:'11.0'对应'Visual Studio 2012')

但是,如果您在版本号之后添加一个逗号,这将允许您为版本支持设置明确的范围,或在给定版本之后打开对所有版本的支持。

下面是一些示例。

(仅允许 VS 2012)

Microsoft.VisualStudio.Ultimate 版本:[11.0]

(仅允许 VS 2012 和 VS 2015)

Microsoft.VisualStudio.Premium 版本:[11.0,14.0]

(允许 2012 之后的所有 VS 版本) Microsoft.VisualStudio.Pro 版本:[11.0,]

这里是 Mads Kristensen 的原创 Blog Post 关于正向移植 Visual Studio 从 VS 2017 到 VS 2019 的扩展以供参考。

请检查 This VSIX is installed by Windows Installer 选项是否已在 Visual Studio(VS) 扩展的清单文件中选中。查看正在创建的 VS 扩展的 *.vsixmanifest 文件时,您会在 Install Targets 选项卡下找到此选项:

关于如何解决这个问题,现在附上图片:

  1. Download the wsix from here

  2. 鼠标右键XamlStyler.Package.vsix

  3. 用归档器打开它(在我的例子中它是 7zip,但你可以使用任何其他的)

  4. extension.visxmanifest上鼠标右键->打开

  5. 替换

    <Installation InstalledByMsi="false" AllUsers="true">
    <InstallationTarget Version="[14.0,15.0)" Id="Microsoft.VisualStudio.Pro" />
    <InstallationTarget Version="[14.0,15.0)" Id="Microsoft.VisualStudio.Premium" />
    <InstallationTarget Version="[12.0,14.0)" Id="Microsoft.VisualStudio.Ultimate" />
    <InstallationTarget Version="[14.0,15.0)" Id="Microsoft.VisualStudio.Enterprise" />
    <InstallationTarget Version="[14.0,15.0)" Id="Microsoft.VisualStudio.Community" />
    </Installation>


<Installation InstalledByMsi="false" AllUsers="true">
<InstallationTarget Version="[14.0,)" Id="Microsoft.VisualStudio.Pro" />
<InstallationTarget Version="[14.0,)" Id="Microsoft.VisualStudio.Premium" />
<InstallationTarget Version="[12.0,)" Id="Microsoft.VisualStudio.Ultimate" />
<InstallationTarget Version="[14.0,)" Id="Microsoft.VisualStudio.Enterprise" />
<InstallationTarget Version="[14.0,)" Id="Microsoft.VisualStudio.Community" />
</Installation>

  1. 不要忘记保存和修改存档。

  2. 运行 XamlStyler.Package.vsix 再次安装 VS 扩展。

  3. 通过鼠标右键

  4. 测试是否有效

希望这能为您节省一些时间。