2018-03-22 12:47:41 +03:00
# Feature Comparison
The following is an incomplete list of features differences between the legacy project system and the new project system.
2018-03-22 13:01:50 +03:00
For a list of behavior differences; see [Compability ](compatibility.md ).
2018-03-22 12:47:41 +03:00
**Feature**|**Legacy**|**New**|**Notes**
2018-04-30 05:02:57 +03:00
---|:---:|:---:|---
2018-03-22 12:47:41 +03:00
**Platforms** |
2018-04-30 05:02:25 +03:00
.NET Standard | | ●
.NET Core | | ●
.NET Framework | ● | ◖ | No designer/AppModel support for new project system
2018-03-22 12:47:41 +03:00
**App Models** |
2018-04-30 05:02:25 +03:00
ASP.NET Core (.NET Framework & .NET Core) | | ●
ASP.NET | ● |
Xamarin | ● |
Universal Windows Platform (UWP) | ● |
Windows Presentation Framework (WPF) | ● |
Windows Forms | ● |
2018-03-22 12:47:41 +03:00
**Build**|
2018-04-30 05:02:25 +03:00
Target multiple frameworks (multi-target) from single project | | ●
Show build (design-time) errors & warnings in Error List as you make them | | ●
2018-03-22 12:47:41 +03:00
**Debug**|
2018-04-30 05:02:25 +03:00
Debug multiple frameworks from single project | | ●
Debug with multiple environments from single project ("launch profiles") | | ●
2018-04-30 05:05:26 +03:00
Debug settings persistence |project.csproj.user|launchsettings.json
2018-04-30 05:02:25 +03:00
Modify environment variables on debug | | ●
Launch with native debugging | ● | ◖ | Need to put `"nativeDebugging": true` in launchsettings.json for new project system
Launch with SQL Server debugging | ● |
Launch with remote debugging | ● |
Launch with Azure Snapshot Debugger | | ●
2018-03-22 12:47:41 +03:00
**Publish** |
2018-04-30 05:02:25 +03:00
Publish to Azure | | ●
ClickOnce Publish | ● |
2018-03-22 12:47:41 +03:00
**Project** |
2018-04-30 05:02:25 +03:00
Globbing support | | ● | `<Compile Include="*.cs" />`
Simplified project format | | ● | `<Project Sdk="Microsoft.Net.Sdk">`
Simplified configuration syntax | | ● | `<Configurations>Debug;Release<Configurations>;<Platforms>AnyCPU;x64</Platforms>`
2018-05-23 10:28:34 +03:00
Implicit configuration syntax | ● | | `<PropertyGroup Condition="'$(Configuration)\|$(Platform)' == 'Debug\|AnyCPU'">`
2018-04-30 05:02:25 +03:00
Edit project XML while loaded | | ●
Automatically reload project file with no prompts | | ●
Automatically reload targets files | | ●
Automatically refresh Solution Explorer to reflect file system | | ●
Show items included in imports (.targets/.props) | | ●
2018-03-22 12:47:41 +03:00
**Dependencies**|
2018-04-30 05:02:57 +03:00
Auto-restore packages on load and external edit | | ●
2018-05-23 09:26:10 +03:00
PackageReference support | ◖ | ● | Legacy does not reload package targets file without VS restart. Also does not support using MSBuild properties in name, version and metadata.
2018-04-30 05:02:25 +03:00
Dependency node showing package/project graph | | ●
Transitive ProjectReference | | ●
Generate NuGet package on build | | ●
2018-03-22 12:47:41 +03:00
**Features**|
2018-04-30 05:02:25 +03:00
Add Service Reference | ● |
Add Web Reference | ● |
Add Data Source | ● |
2018-08-17 03:14:41 +03:00
"Initialize Interactive Window with Project" | ● | ● (15.8) | Only when targeting .NET Framework.
Class Diagrams | ● | ● (15.8) |
2018-04-30 05:02:25 +03:00
Code Analysis | ● |
2018-08-17 03:14:41 +03:00
Code Metrics | ● | ◖ (15.8) ● (16.0 Preview 1) | 15.8 added support for Code Metrics when targeting .NET Framework. 16.0 will add support for Code Metrics when targeting all frameworks.
Code Clones | ● | ● (15.8) |
2018-04-30 05:02:25 +03:00
Fakes | ● |
T4 Templates | ● |
Zero Impact Projects ("Save new projects when created") | ● |
Simplified configurations ("Show advanced build configurations") | ● |
2018-08-17 03:14:41 +03:00
[Automation Extenders ](https://msdn.microsoft.com/en-us/library/0y92k2w2.aspx )| ● | ● (15.8) |