Microsoft released the first preview of its successor to Visual Studio 2013 and it is going to feature the integration of several long running projects across several functional areas. This release has yet to be officially named, but is currently being referred to as Visual Studio “14” (with the quotes). This new edition of Visual Studio includes the Roslyn project for C# and Visual Basic, the enhanced C++ compiler previewed in the November 2013 compiler CTP, and ASP.NET vNext.
Roslyn for C# and VB
As Microsoft Program Manager Anthony D. Green observes, with “14” the compilers for C# (and Visual Basic) are built from the ground up with Roslyn technology. The result is that writing C# code in “14” benefits from expanded refactoring support and adds the conditional access operator ?. to C#.
Likewise, Visual Basic programmers will see similar benefits from the Roslyn foundation as well. This includes enhanced refactoring, support for multiline strings, and metadata-as-source (which improves the usefulness of “Go To Definiton”).
Enhanced C++11/14 Support
Microsoft Corporate Vice President S. Somasegar’s “14” announcement also includes details on the additional C++ language features that “14” includes: user-defined literals, C++14 generalized lambda capture, C++14 libs::std:: user-defined literals, inline namespaces, and noexcept (including conditional). These join the language features that were released as part of the VC++ CTP released in November 2013.
Microsoft’s Eric Battalio further commented on an extensive list of additional C++ features as the changes go beyond C++11/14 compliance. The compiler has greater C99 compliance and overall over 400 compiler bugs have been fixed since the last release. The C runtime has been refactored, with MSVCR140.DLL being replaced by VCRUNTIME140.DLL, APPCRT140.DLL, and DESKTOPCRT140.DLL. Separately, Windows Desktop applications can now utilize new diagnostic tools for memory usage, and comparison.
ASP.NET vNext
Under Visual Studio “14”, new ASP.NET project templates include “ASP.NET vNext” in the name. Available selections include web application, empty web application, class library, and console application. When using these new templates, the additional framework target of .NET Core Framework is made available which uses Microsoft’s “cloud-optimized” runtime.
The editing of Project.json files is made easier through IntelliSense support, which uses NuGet to assist in resolving completions for dependencies. Everything needed by the project is included in the application’s project folder, which means at deployment time the entire project can be launched via web.cmd. Neither IIS nor IIS Express is required.
Availability
The CTP is available for download (both ISO and web installer are available) on the Visual Studio homepage. Be mindful of Microsoft’s warnings that this CTP is not intended for writing production code, deployment in a production environment, or installation next to an existing copy of Visual Studio. (Meaning this is best installed in a virtual machine or not at all.) In fact, by default the CTP will not install when a previous version of Visual Studio exists. The full release notes for the CTP contain instructions on how to override this behavior.