Visual Studio 2017不被扩展程序检测到以进行安装。

9
我正在尝试安装一个仅支持Visual Studio 2017的扩展。我使用的是Professional版本,之前只安装了RTM版本,没有安装RC版本。然而,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()

2
VS2017有很大的变化,他们确实必须解决VS2015所遭受的巨大安装程序问题。基本的MSDN文章在这里(https://learn.microsoft.com/en-us/visualstudio/extensibility/how-to-migrate-extensibility-projects-to-visual-studio-2017)。引用“所有VSIX项目都需要进行一次主要版本的单向升级到Visual Studio 2017”。 - Hans Passant
6个回答

3

从日志文件来看,似乎是旧版的vsixinstaller.exe尝试安装您的扩展程序,而不是来自VS 2017的版本。它应该在以下路径中: "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VSIXInstaller.exe"

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


我不理解这些指令,请改进一下。当你谈论使用Roslynator运行它时,你指的是什么? - Rick
@ArielAltamirano 运行 "[full_path]\VSIXInstaller.exe Roslynator.VisualStudio.1.2.51.vsix" - Sergey Vlasov

2

2

按Win+R,输入正确版本的VSIXInstaller路径。例如:

"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 2017的安装程序。因此,在任何其他VS版本之前,您的路径应列出C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE。
Professional必须替换为已安装的版本。企业版,旗舰版等。

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和静默选项安装任何VSIX插件

例如: $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不同,因此它是否在2015上工作应该很少有影响。

a) 您可以尝试联系作者(打开问题等),这可能是最好的选择。

b) 或者,一个可能有效的方法是尝试自己重新编译源代码,因为这可能会过滤掉可能存在的版本问题。这在我几次中都有帮助。您需要在“其他工具集”下添加“Visual Studio扩展开发”(只需重新运行安装文件并进行修改),然后您就可以构建代码了(每个扩展可能都有一些特定要求)。鉴于该工具是开源的,这可能是我采取的路线。
至于为什么(您可能正在经历问题的原因),很难说,我自己的一个扩展也遇到了一些问题,可能是一个错误(因为2017还是有点新),可能是某种DLL版本问题,也可能是您的设置。因此,您还可以尝试进行全新安装或...

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


一般性的回答已经过时了。 - Lex Li
@LexLi 我在某种程度上同意,我试图给出一般性建议(并且也没有自认为是VS2017的专家)。另一方面,扩展在2017上工作得很好,至少在很多机器上都是如此,并且由于它是开源的,可能取决于OP尝试修复他的设置问题(这就是编译的用处)。此外,我解压了 .vsix 文件,所有东西看起来都很正常,所以对我来说没有明显的问题,例如目标等。而且 vsix 没有警告依赖项问题。最后,安装完整的SDK也可能有助于解决一些可能存在的问题。也就是说,我不认为这里有其他更有帮助的链接。 - NSGaga-mostly-inactive

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接