Visual Studio Isolated Shell
This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, use the version selector at the top left. We recommend upgrading to Visual Studio 2019. Download it here
The Visual Studio isolated shell allows you to create stand-alone applications that can run side-by-side with other versions of Visual Studio. It is used primarily to host specialized tools that can use Visual Studio services but also have a customized appearance and branding. Visual Studio features and menu command groups can be easily turned on and off. Application titles, application icons, and splash screens are fully customizable. For a list of customizable features, see Customizing the Isolated Shell.
To work with an isolated shell project, you must install the Visual Studio SDK. Starting in Visual Studio 2015, you do not install the Visual Studio SDK from the download center. It is included as an optional feature in Visual Studio setup. You can also install the VS SDK later on. For more information, see Installing the Visual Studio SDK.
To create an isolated shell application, start with a Visual Studio Shell Isolated project. This project contains everything that you need to develop and test your own isolated shell application. When you are ready to write the setup program that deploys your application, you must get the isolated shell redistributable package from Microsoft Visual Studio Shell (Isolated) Redistributable Package.
Before you can access the isolated shell redistributable package, you will be asked to fill out a brief customer survey. After filling out the survey, you’ll be directed to a Visual Studio Connect page with redistributable package download links. You can find the download links on subsequent visits to the Visual Studio Connect site under the PROGRAMS | VISUAL STUDIO 2015 INTEGRATED AND ISOLATED SHELL tab.
For more information about how to deploy an isolated shell-based application, see Walkthrough: Creating a Basic Isolated Shell Application.
Working with the isolated shell
A Visual Studio isolated shell application has full access to Visual Studio services and supports special customization and branding. There are several ways you can customize an isolated shell application:
You can use VSPackages and Managed Extensibility Framework (MEF) component parts to extend an isolated shell application just as you would use them in any other Visual Studio extension. For more information, see Extending the Isolated Shell.
To make Visual Studio features and menu command groups available or unavailable, update the .vsct file in the user interface (UI) project of the application.
To remove Options pages or other Visual Studio shell components from the application, update the .pkgundef file of the application.
To modify other aspects of the appearance or behavior of the shell, update the .pkgdef file of the application.
Some aspects of the shell can also be specified when the application is started. To do this, update the parameters in the call to the Start entry point of the appenvstub.dll.
For more information about the different elements that you can customize, see Elements of the Isolated Shell.
Standard Features of the Isolated Shell
The following features are standard to all editions of Visual Studio.
|IDE Features||Import/Export Settings
Toolbox Control Installer
Task List & Error List
Windows Communication Foundation (WCF) Add Service Reference
Language Integrated Query (LINQ) Support
|Editor/Designer||Code browsing tools (unified find, source definition, inheritance)
Code Snippets Manager
Code Definition Window
Windows Forms Designer
Windows Presentation Foundation (WPF) Designer
|Debugging||C# Expression Evaluator
Edit and Continue
Just-in-time (JIT) debugging
Attach to local process
|Data||Server Explorer (Simplified - Data Only)
Data bind to local data (.MDF or .MDB)
Data bind to object
Data bind to Web service
Full set of data controls
Data bind to local database server
Data Sources window
Web Forms Designer
Web Site Project
Web Application Project
|Extensibility||Consumes VSPackages and MEF components|