Today we released the second preview of the next update: Visual Studio 2017 version 15.7. We hope that you will use this Preview and share your feedback with us. To use the Preview, you can either install it fresh from here, you can update the bits directly from the IDE, or if you have an Azure subscription, you can provision a virtual machine with this latest preview (starting tomorrow).
The top highlights of this Preview include:
- Improved intellisense for conditional XAML
- Additional C++ development improvements
- Streamlined configuration for updating UWP apps
- Inclusion of TypeScript 2.8
- Tooling to prevent Web application permission problems
- Support for building additional project types on the build servers.
This second Preview builds upon the features we added in Preview 1. As always, you can drill into the details of these features by exploring the Visual Studio 2017 version 15.7 Preview release notes. We appreciate your early adoption, engagement, and feedback as it helps us ship the most high-quality tools to everyone in the Visual Studio community.
XAML Intellisense: The XAML editor now provides IntelliSense for authoring conditional XAML. When using a type that is not present in the target min version of your app, the XAML editor now not only warns but also provides several options to fix it. The quick fix figures out the right conditional using statement based on the platform version where the type was first introduced, allowing the app to target a wider range of platform versions while being able to consume the latest controls.
C++ Standards Conformance: Five more C++17 Standard features are added to the compiler and IntelliSense in this release, making MSVC much closer to be fully compliant with the latest C++ Standard. As an example, extend template argument deduction for functions to constructors of template classes – when you construct a class template you no longer have to specify the arguments. You can now have public base classes in aggregate types, so that they can be initialized using aggregate initialization syntax without writing boilerplate constructors. In braced initializer lists, bases are initialized first, followed by data members.
|C++17 Template argument deduction for class|
|pair<int, double> p(2, 4.5);
auto t = make_tuple(4, 3, 2.5);
|pair p(2, 4.5);
tuple t(4, 3, 2.5);
auto lck = lock_guard(foo.mtx);
We are now complete with the full implementation of C++11 Expression SFINAE, and have made the corresponding Standard Library changes. We have also implemented parallel algorithms conforming to the ISO C++17 standard.
For more C++ feature additions, please see the release notes.
Universal Windows Platform Development
Automatic updates for sideloaded UWP apps: The Universal Windows Platform allows distributing applications without the Microsoft Store by using a mechanism called “sideloading”. With Visual Studio 2017 version 15.7 Preview 2 using the latest Windows 10 Insider Preview SDK, there is now tooling to easily configure the automatic update settings for these UWP apps.
Compiler: Visual Studio 2017 version 15.7 will include TypeScript 2.8.
It is often tricky and time consuming to diagnose runtime application permission problems. In Visual Studio 2017 version 15.7, we’ve made a change to help you identify a specific kind of access issue during development. When running an ASP.NET or ASP.NET Core application on the local machine, the app may not have access to the Key Vault from the account specified under Tools | Options | Azure Service Authentication, and thus won’t be able to run locally. Visual Studio will now detect that case and provide a proactive error during development. This type of diagnostic will shorten the time it takes to discover and fix this local runtime permission problem.
The Visual Studio 2017 Build Tools allow you to create build servers without installing the entire Visual Studio editing environment. Over the past few updates, we’ve been expanding the matrix of project types that the Build Tools support. In the last minor release, we added the ability to build TypeScript and Node.js project types, and in this release we are adding support for building additional project types such as Azure, Office and Sharepoint, Mobile development with .NET (Xamarin), ClickOnce, Docker Tools, Test Tools, and installing into containers. Click here to download the preview release of the Visual Studio Build Tools and try out these new capabilities.
Try out the Preview today!
If you’re not familiar with Visual Studio Previews, take a moment to read the Visual Studio 2017 Release Rhythm. Remember that Visual Studio 2017 Previews can be installed side-by-side with other versions of Visual Studio and other installs of Visual Studio 2017 without adversely affecting either your machine or your productivity. Previews provide an opportunity for you to receive fixes faster and try out upcoming functionality before they become mainstream. Similarly, the Previews enable the Visual Studio engineering team to validate usage, incorporate suggestions, and detect flaws earlier in the development process. We are highly responsive to feedback coming in through the Previews and look forward to hearing from you.
Please get the Visual Studio Preview today, exercise your favorite workloads, and tell us what you think. If you have an Azure subscription, you can provision a virtual machine of this preview (starting tomorrow). You can report issues to us via the Report a Problem tool in Visual Studio or you can share a suggestion on UserVoice. You’ll be able to track your issues in the Visual Studio Developer Community where you can ask questions and find answers. You can also engage with us and other Visual Studio developers through our Visual Studio conversation in the Gitter community (requires GitHub account). Thank you for using the Visual Studio Previews.
|Christine Ruana Principal Program Manager, Visual Studio
Christine is on the Visual Studio release engineering team and is responsible for making Visual Studio releases available to our customers around the world.