Internet Explorer is no longer supported. Many things will still work, but your experience will be degraded and some things won't function. Please use a modern browser such as Edge, Chrome, or Firefox.

Visual Studio Extension (.vsix)

view on GitHub

A VSIX feed in ProGet stores Visual Studio extensions, which can then be installed directly from Visual Studio.

The Visual Studio gallery uses an internal API that is different from the documented Atom VSIX feed that ProGet provides, so no connector to the Visual Studio Gallery can currently be created in ProGet. However, connectors to other Atom VSIX feeds are supported.

Prerequisite Configuration

Adding the Feed to Visual Studio

To add a VSIX feed to Visual Studio, an additional extension gallery must be added. To do this, navigate to "Tools" > "Options" > "Environment" > "Extensions" and click the "Add" button under "Additional Extension Galleries". Fill in the name and set the URL to the API endpoint URL of the VSIX feed.

options

This allows you to install the extensions of your VSIX feed in addition to the extensions in the built-in galleries using the "Manage Extensions" window, opened by navigating to "Extensions" > "Manage Extensions".

Uploading Extensions

To upload a .vsix extension, you can use Inedo's pgutil and run this command:

pgutil packages upload --feed=«vsix-feed-name» --input-file=«path-to-extension»

You can also use the UI or bulk upload.

Read more about uploading .vsix extensions in our HOWTO: Create a Private Extension Gallery for Visual Studio and Visual Studio Code

ProGet 2023 and earlier

To upload .vsix extensions in ProGet 2023 and earlier, you can simply pass the extension to the feed API endpoint URL at PUT or POST.

# PowerShell example
Invoke-RestMethod https://proget.example.com/vsix/FeedName `
-InFile .\MyExtension.vsix `
-Headers @{"Authorization" = "Basic " + [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("api:xxxxxxxxxxxxxx"))}

Installing Extensions

In Visual Studio

Install the extensions of your VSIX feed in addition to the extensions in the built-in galleries using the "Extension Manager" window, opened by navigating to "Extensions" > "Manage Extensions".

extensions

If you want to disable the Visual Studio Marketplace gallery to only show the packages in your private feed you can disable the public gallery, using a .pkgdef file.

In VS Code

Currently, Visual Studio Code does not support private galleries, despite there being a request for it that has been open since 2017. You can still upload extensions to a VSIX feed, but users will need to manually download them from ProGet and then import them into their Visual Studio Code.

Software Composition Analysis (SCA)

SCA features in ProGet, including licensing and vulnerabilities are not supported for Visual Studio Extensions packages. This is because feeds are intended for private (first-party) extensions, not ones published on the official gallery.

This is also a limitation of Visual Studio and VS Code, as you cannot change the public gallery URL. In addition, the API is not documented or supported, nor permitted to be proxied by a tool like ProGet.

While you can upload third-party packages that you've manually downloaded and vetted, ProGet will not display any license or vulnerability information for these packages.