TL; DR有没有办法从命令行访问Visual Studio Gallery,类似于chocolatey?
我正在尝试使用Vagrant配置Visual Studio开发环境。现在,团队成员使用Visual Studio Gallery提供的各种扩展,如果他们可以在配置机器时编写脚本,那就太棒了。
如果没有基于nuget的存在,我想我们可能会变脏并使用wget来获取vsix并将其手动提取到正确的目录,但我不知道VS Gallery中的下载链接是否持久。
答案 0 :(得分:21)
如果从使用Visual Studio安装的开发人员命令提示符运行VsixInstaller.exe
而没有参数,则会收到包含此文本的帮助文本消息框:
Usage: VSIXInstaller.exe [/quiet] [/admin] [/skuName:name /skuVersion:version] </uninstall:vsixID | vsix_path>
- OPTIONS -
/quiet
Suppresses the UI. Short form is '/q'.
/admin
The extension will be installed to the admin extensions location. Short form is '/a'.
/skuName:<name>
The name of the application to which to install or uninstall the extension. Must be used with /skuVersion. Valid values include:
- Ultimate - (Visual Studio Ultimate Edition)
- Premium - (Visual Studio Premium Edition)
- Pro - (Visual Studio Professional Edition)
- VSLS - (Visual Studio LightSwitch)
- IntegratedShell - (Visual Studio Shell - Integrated Mode)
- VBExpress - (Visual Basic Express)
- VCSExpress - (Visual C# Express)
- VCExpress - (Visual C++ Express)
- VPDExpress - (Visual Studio Express for Windows Phone)
- VSWinExpress - (Visual Studio Express for Windows)
- VWDExpress - (Visual Studio Express for Web)
Isolated Shell names may also be specified. Short form is '/s'.
/skuVersion:<version>
The version of the application to which to install or uninstall the extension, in the form major.minor[.build[.revision]]. Must be used with /skuName. Short form is '/v'.
/uninstall:<vsixID>
Uninstalls the extension with the specified identifier. If /skuName and /skuVersion are not specified, the extension will be uninstalled from all products that contain the extension with the corresponding identifier. Short form is '/u'.
- ARGUMENTS -
<vsix_path>
Path to a valid .vsix file. This argument is invalid when /uninstall is specified.
所以,根据这个,你可以这样做:
VSIXInstaller.exe /quiet some_extension.vsix
如果要在开发人员命令提示符之外运行此命令,则可能需要为要安装的Visual Studio版本执行正确的操作。
我的版本在这里:
C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ VSIXInstaller.exe