安装扩展程序未检测到Visual Studio 2017

问题描述 投票:7回答:6

我正在尝试安装仅在Visual Studio 2017上支持的扩展。我使用的是Professional,我从未安装过RC,只有RTM版本。但是,未检测到VS 2017(请参阅下面的安装日志)。其他扩展安装得很好,大概是因为它们也支持VS 2015,我确实安装了它。这些扩展确实出现在2015年和2017年。

我尝试了修复安装,然后完全卸载并重新安装,但没有解决问题。具体的扩展是Roslynator 2017

我如何解决这个问题,以便检测到VS 2017,我可以为它安装扩展程序?

安装日志:

3/15/2017 2:21:53 PM - Microsoft VSIX Installer
3/15/2017 2:21:53 PM - -------------------------------------------
3/15/2017 2:21:53 PM - Initializing Install...
3/15/2017 2:21:54 PM - Extension Details...
3/15/2017 2:21:54 PM -  Identifier         : 9289a8ab-1bb6-496b-9992-9f7ea27f66a8
3/15/2017 2:21:54 PM -  Name               : Roslynator 2017
3/15/2017 2:21:54 PM -  Author             : Josef Pihrt
3/15/2017 2:21:54 PM -  Version            : 1.2.51
3/15/2017 2:21:54 PM -  Description        : A collection of 170+ analyzers and 170+ refactorings for C#, powered by Roslyn.
3/15/2017 2:21:54 PM -  Locale             : en-US
3/15/2017 2:21:54 PM -  MoreInfoURL        : http://github.com/JosefPihrt/Roslynator
3/15/2017 2:21:54 PM -  InstalledByMSI     : False
3/15/2017 2:21:54 PM -  SupportedFrameworkVersionRange : [4.6,)
3/15/2017 2:21:54 PM - 
3/15/2017 2:21:54 PM -  SignatureState     : Unsigned
3/15/2017 2:21:54 PM -  Supported Products : 
3/15/2017 2:21:54 PM -      Microsoft.VisualStudio.Community
3/15/2017 2:21:54 PM -          Version : [15.0,16.0)
3/15/2017 2:21:54 PM -      Microsoft.VisualStudio.Pro
3/15/2017 2:21:54 PM -          Version : [15.0,16.0)
3/15/2017 2:21:54 PM -      Microsoft.VisualStudio.Enterprise
3/15/2017 2:21:54 PM -          Version : [15.0,16.0)
3/15/2017 2:21:54 PM - 
3/15/2017 2:21:54 PM -  References         : 
3/15/2017 2:21:54 PM -      -------------------------------------------------------
3/15/2017 2:21:54 PM -      Identifier   : Microsoft.VisualStudio.MPF.15.0
3/15/2017 2:21:54 PM -      Name         : Visual Studio MPF 15.0
3/15/2017 2:21:54 PM -      Version      : [15.0,16.0)
3/15/2017 2:21:54 PM -      MoreInfoURL  : 
3/15/2017 2:21:54 PM -      Nested       : No
3/15/2017 2:21:54 PM - 
3/15/2017 2:21:54 PM - Signature Details...
3/15/2017 2:21:54 PM -  Extension is not signed.
3/15/2017 2:21:54 PM - 
3/15/2017 2:21:54 PM - Searching for applicable products...
3/15/2017 2:21:54 PM - Found installed product - Microsoft Visual Studio Enterprise 2015
3/15/2017 2:21:54 PM - Found installed product - Microsoft Visual Studio Professional 2015
3/15/2017 2:21:54 PM - Found installed product - Microsoft Visual Studio Community 2015
3/15/2017 2:21:54 PM - Found installed product - Microsoft Visual Studio 2015 Shell (Integrated)
3/15/2017 2:21:54 PM - Found installed product - Global Location
3/15/2017 2:21:54 PM - 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()
visual-studio visual-studio-extensions visual-studio-2017
6个回答
2
投票

从日志文件看起来像旧的vsixinstaller.exe尝试安装您的扩展,而不是VS 2017中的扩展。它应该在“C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \”之类的路径中Common7 \ IDE \ VSIXInstaller.exe”

尝试使用Roslynator.VisualStudio.1.2.51.vsix作为参数显式运行它。


2
投票

正如Hans Passant评论的那样,微软已经对安装做出了巨大的改变,因此以前检测VS的方法将不再适用。例如,要检测VS安装文件夹,现在需要一些额外的工具或脚本,

https://github.com/Microsoft/vswhere

所以像How to: Migrate Extensibility Projects to Visual Studio 2017这样的指南很重要,你可以按照提示进行操作。


2
投票

按Win + R并将路径写入正确版本VSIXIntaller。例如。

“E:\ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ VSIXInstaller.exe”“C:\ Users \ jdonoso.IMLG \ Downloads \ Ankh.VS15Package.vsix”

我有3个版本的Visual Studio,但正确的安装程序是VS2017,因为该程序包适用于VS2017。考虑到这一点。

这就是我犯同样错误的原因。使用正确的版本解决它。


1
投票

也许你“只”必须使用正确的安装程序。 Visual Studio 2107的那个。所以你的路径应该在任何其他VS版本之前列出C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE。

必须用已安装的专业人员替换专业人员。企业,终极,......


0
投票

VSIXInstaller有两个位置

显而易见的一个:“C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ VSIXInstaller.exe”

我们想要使用的位置:“C:\ Program Files(x86)\ Microsoft Visual Studio \ Installer \ resources \ app \ ServiceHub \ Services \ Microsoft.VisualStudio.Setup.Service \ VSIXInstaller.exe”

通过第二条路径启动VSIXInstaller后,我可以通过PowerShell和ith静音选项安装任何VSIXPlugin

例如:$ arguments =“/ q","/nr","/admin","/logFile:TFSSCExplorerExtension.log","\sp057\Projekte\IKT\TFSSCExplorerExtension.vsix”&“C:\ Program Files( x86)\ Microsoft Visual Studio \ Installer \ resources \ app \ ServiceHub \ Services \ Microsoft.VisualStudio.Setup.Service \ VSIXInstaller.exe“$ arguments


-2
投票

扩展必须专门为每个VS版本重新编译,引用的VS DLL-s是不同的,因此无论它是否在2015年工作都应该非常重要。

a)您可以尝试联系作者(打开一个问题左右),这可能是最好的。

b)或者可能有用的一件事是尝试自己重新编译源代码,因为这可能会过滤掉可能的版本化怪癖。这帮了我几次。您需要在“其他工具集”下添加“Visual Studio扩展开发”(只需重新运行安装文件和修改),您就应该能够构建代码(尽管每个扩展可能都有一些细节)。鉴于该工具是开源的,这可能是我采取的路线。 至于为什么(你可能遇到这些问题)的原因很难说,我自己有一个扩展问题,它可能是一个错误(因为2017年仍然有点新鲜),它可能是一些有点DLL版本问题,它可能是你的设置。所以你也可以尝试全新安装或......

c)在另一台机器上尝试它总是有帮助的

© www.soinside.com 2019 - 2024. All rights reserved.