We are removing the UML designers from Visual Studio “15” Enterprise. Removing a feature is always a hard decision, but we want to ensure that our resources are invested in features that deliver the most customer value. Our reasons are twofold:
- On examining telemetry data, we found that the designers were being used by very few customers, and this was confirmed when we consulted with our sales and technical support teams.
- We were also faced with investing significant engineering resource to react to changes happening in the Visual Studio core for this release.
If you are a significant user of the UML designers, you can continue to use Visual Studio 2015 or earlier versions, whilst you decide on an alternative tool for your UML needs.
However, we continue to support visualizing of the architecture of .NET and C++ code through code maps, and for this release have made some significant improvements to Layer (dependency) validation. On interviewing customers about Technical Debt, architectural debt, in particular unwanted dependencies, surfaces as being a significant pain point. Since 2010, Visual Studio Ultimate, now Enterprise, has included the Layer Designer, which allows desired dependencies in .NET code to be specified and validated. However, validation only happens at build time and errors only surface at the method level, not at the lines of code which are actually violating the declared dependencies. In this release, we have rewritten layer validation to use the .NET Compiler Platform (“Roslyn”), which allows architecture validation to happen in real-time, as you type, as well as on build, and also means that reported errors are treated in the user experience like any other code analysis error. This means that developers are less likely to write code that introduces unwanted dependencies, as they will be alerted in the editor as they type. Moving to Roslyn, also makes it possible to create a plugin for SonarQube allowing layer validation errors to be reported with other technical debt during continuous integration and code review via pull requests, using the SonarQube build tasks integrated with Visual Studio Team Services. The plugin is on our near term backlog.
If you haven’t tried the Layer Designer before, we encourage you to give it a try. More detail on how to use it is available Live architecture dependency validation in Visual Studio ’15’ Preview 5. And please provide feedback not only on the experience, but also other rules you would like to see implemented.
All diagrams and almost every model element can be associated with a work item via a right-click menu. This would let you use work items to link all the artifacts for a feature with full traceability. Design system with UML Class Diagram. Create a C# library project Map Viewer in Visual Studio. Right click on the project node in Solution Explorer, and select Open Visual Paradigm from the popup menu. In Diagram Navigator, right click on class diagram and select New Class Diagram from the popup menu. A new diagram is created.
-->Live dependency validation
Removing unwanted dependencies is an important part of managing your technical debt. Visual Studio provides live validation of dependencies, including precise information about issues, such as where they are located. Live dependency validation takes full advantages of new features in the Error List and the editor.
The authoring experience has changed to make dependency validation more discoverable and more accessible. The terminology has changed from 'Layer diagram' to 'Dependency diagram'.
The Architecture menu now contains a command to directly create a Dependency diagram:
Layer property names and descriptions have been changed to make them more meaningful:
Class Diagram
You immediately see the impact of your changes in the analysis results for the current code in the solution each time you save the diagram. You don't have to wait for the completion of the Validate Dependencies command.
Activity Diagram
For more details, see this blog post.
UML designers have been removed
The UML designers have been removed from Visual Studio.
- UML diagrams are now presented as XML files
- The UML Model Explorer no longer exists
- Modeling project references are no longer used for dependency validation
- The 'Layer References' node in Solution Explorer is no longer displayed
- The 'Validate' build action on a Dependency (Layer) diagram is no longer used - the Build task has been removed
- The project structure is maintained for round-tripping between versions
- You can still open, create, edit, and save a Dependency (Layer) diagram as XML
- TFS work items linked to a Dependency (Layer) diagram are not accessible on the design surface
- Back linking from to DSL or a Layer is no longer supported
- UML extensibility in the Modeling SDK is no longer supported
Support for visualizing the architecture of .NET and C++ code is available through code maps.
If you are a significant user of the UML designers, you can continue to use Visual Studio 2015 or earlier versions while you decide on an alternative tool for your UML needs.
For more details, see this blog post.
Note
The Text Template Transformation component is automatically installed as part of the Visual Studio extension development workload. You can also install it from the Individual components tab of Visual Studio Installer, under the SDKs, libraries, and frameworks category. Install the Modeling SDK component from the Individual components tab.
Edition support for architecture and modeling tools
Visual Studio is available in several editions. Not all of these provide support for the architecture and modeling tools. The following table shows the availability of each tool.

| Feature | Enterprise edition | Professional edition | Community edition |
|---|---|---|---|
| Code maps | Yes | Only supports reading code maps, filtering code maps, adding new generic nodes, and creating a new Directed Graph from a selection. | - |
| Dependency diagrams | Yes | Only supports reading dependency diagrams. | Only supports reading dependency diagrams. |
| Directed graphs (DGML diagrams) | Yes | Yes | Yes |
| Code clone | Yes | - | - |