Visual Studio images on Azure
Using Visual Studio in a preconfigured Azure virtual machine (VM) is a quick, easy way to go from nothing to an up-and-running development environment. System images with different Visual Studio configurations are available in the Azure Marketplace.
New to Azure? Create a free Azure account.
What configurations and versions are available?
Images for the most recent major versions, Visual Studio 2022, Visual Studio 2019, Visual Studio 2017 and Visual Studio 2015, can be found in the Azure Marketplace. Each of these versions offers the Visual Studio Enterprise and the Visual Studio Community editions. These images are updated at least every month to include the latest Visual Studio and Windows updates. While the names of the images remain the same, each image's description includes the installed product version and the image's "as of" date.
|Visual Studio 2022
|Visual Studio 2022 (Microsoft Dev Box compatible)
|Visual Studio 2019: Latest (Version 16.11)
|Visual Studio 2019 (Microsoft Dev Box compatible)
|Visual Studio 2017: Latest (Version 15.9)
|Visual Studio 2015: Latest (Update 3)
In accordance with Microsoft servicing policy, the originally released (RTW) version of Visual Studio 2015 has expired for servicing. Visual Studio 2015 Update 3 is the only remaining version offered for the Visual Studio 2015 product line.
For more information, see the Visual Studio Servicing Policy.
Windows client for developers (Microsoft Dev Box compatible), a Windows 11 Enterprise image is meant to be used as a starting point for creating custom Dev Box images, and contains additional tools and settings to optimize the developer experience. This image doesn't include Visual Studio. For Visual Studio developers, we recommend using our Visual Studio 2022 or Visual Studio 2019 Dev Box compatible images as a starting point.
What features are installed?
Each image contains the recommended feature set for that Visual Studio edition. Generally, the installation includes:
- All available workloads, including each workload’s recommended optional components. Learn more about workloads, components, and SDKs included Visual Studio.
- .NET 4.6.2, .NET 4.7, and .NET 4.8 SDKs, Targeting Packs, and Developer Tools
- Visual F#
- GitHub Extension for Visual Studio
- LINQ to SQL Tools
We use the following command line to install Visual Studio when building the images:
vs_enterprise.exe --allWorkloads --includeRecommended --passive ^
--add Microsoft.Net.Component.4.8.SDK ^
--add Microsoft.Net.Component.4.7.2.SDK ^
--add Microsoft.Net.Component.4.7.2.TargetingPack ^
--add Microsoft.Net.Component.4.6.2.SDK ^
--add Microsoft.Net.Component.4.6.2.TargetingPack ^
--add Microsoft.Net.ComponentGroup.4.8.DeveloperTools ^
--add Microsoft.Net.ComponentGroup.4.7.2.DeveloperTools ^
--add Microsoft.VisualStudio.Component.FSharp ^
--add Component.GitHub.VisualStudio ^
If the images don't include a Visual Studio feature that you require, please provide feedback through the feedback tool in the upper-right corner of the page.
What size VM should I choose?
Azure offers a full range of virtual machine sizes. Because Visual Studio is a powerful, multi-threaded application, you want a VM size that includes at least two processors and 7 GB of memory. We recommend the following VM sizes for the Visual Studio images:
For more information on the latest machine sizes, see Sizes for Windows virtual machines in Azure.
With Azure, you can rebalance your initial choice by resizing the VM. You can either provision a new VM with a more appropriate size, or resize your existing VM to different underlying hardware. For more information, see Resize a Windows VM.
After the VM is running, what's next?
Visual Studio follows the “bring your own license” model in Azure. As with an installation on proprietary hardware, one of the first steps is licensing your Visual Studio installation. To unlock Visual Studio, either:
- Sign in with a Microsoft account that’s associated with a Visual Studio subscription
- Unlock Visual Studio with the product key that came with your initial purchase
How do I save the development VM for future or team use?
The spectrum of development environments is huge, and there’s real cost associated with building out the more complex environments. Regardless of your environment’s configuration, you can save, or capture, your configured VM as a "base image" for future use or for other members of your team. Then, when booting a new VM, you provision it from the base image rather than the Azure Marketplace image.
A quick summary: Use the System Preparation tool (Sysprep) and shut down the running VM, and then capture (Figure 1) the VM as an image through the UI in the Azure portal. Azure saves the
.vhd file that contains the image in the storage account of your choosing. The new image then shows up as an Image resource in your subscription’s list of resources.
(Figure 1) Capture an image through the Azure portal’s UI.
For more information, see Create a managed image of a generalized VM in Azure.
Don’t forget to use Sysprep to prepare the VM. If you miss that step, Azure can't provision a VM from the image.
You still incur some cost for storage of the images, but that incremental cost can be insignificant compared to the overhead costs to rebuild the VM from scratch for each team member who needs one. For instance, it costs a few dollars to create and store a 127-GB image for a month that's reusable by your entire team. However, these costs are insignificant compared to hours each employee invests to build out and validate a properly configured dev box for their individual use.
Additionally, your development tasks or technologies might need more scale, like varieties of development configurations and multiple machine configurations. You can use Azure DevTest Labs to create recipes that automate construction of your "golden image." You can also use DevTest Labs to manage policies for your team’s running VMs. Using Azure DevTest Labs for developers is the best source for more information on DevTest Labs.
Now that you know about the preconfigured Visual Studio images, the next step is to create a new VM: