Today we released Visual Studio 2017. Start your download and read on to learn more about some of the highlights of this release. For the complete list of changes in the release, check out the Visual Studio 2017 release notes. Some of the things I would like to highlight are:
- Fundamentals: Productivity and Performance
- 5-star Mobile Applications
- Cloud Development
- DevOps
- The Visual Studio Ecosystem
Fundamentals: Productivity and Performance
Improved startup and improved project load. Multiple enhancements come together to make Visual Studio 2017 start up faster than Visual Studio 2015. Solution load times are shorter, and build performance is faster, particularly for C++ projects as Ankit Asthana wrote on the VC++ blog. Check out this post by Dan Taylor on improved overall Visual Studio responsiveness that leads you into a deep dive on these improvements.
Enhanced Navigation. Visual Studio 2017 dramatically improves code navigation, from “Go to All” to Find All References to Indent Guides. For example, Find All References used to display its search results as a flat list in the Results Window. Visual Studio 2017 colorizes the results and provides custom grouping, sorting, filtering, and searching to help you rapidly home in on the specific reference you were looking for. But most powerful is Go to All (ctrl+T or ctrl+,), which has undergone a complete transformation. Go to All is a fast, complete search for any file, type, member or symbol declaration in a solution. Icons at the bottom of the search bar allow you to filter your results by group or adjust the scope of the search. You can also customize settings like placement of the search bar, a live preview of the files containing the highlighted result, and additional file information for each result, by clicking the gear icon in the bottom-right corner.
Keyboard Shortcuts for GoTo
| Go To All | Go To Line | Go To File | Go To Type | Go To Member | Go To Symbol | |
| Shortcut | Ctrl+T or Ctrl+, | Ctrl+G | Ctrl+1, F | Ctrl+1, T | Ctrl+1, M | Ctrl+1, S |
| Query Prefix | No prefix | : | f | t | m | # |
Load files without needing a solution. One request we heard from customers was to be able to edit files without needing to open a project or solution. We listened and are happy to bring you a solution (wordplay mildly intended): in Visual Studio 2017, you can open and work on any file for a long list of languages from C# to C++ to Ruby to Go. For a full list of all capabilities available to you read this blog post on open any folder in Visual Studio.
IntelliSense filtering. IntelliSense now provides filters to quickly narrow down that member you’ve been looking for. Filtering helps you get to what you need without having to wade through many, many types to get to it.
Language improvements: refactorings, style analyzers, and more. There’s more here than we can easily fit into a short paragraph. We’ve added new C# language refactoring commands that help you modernize your code to the latest standard. New style analyzers and support for EditorConfig let you harmonize coding standards across your team. You can edit XAML while your WPF or UWP application is running and see changes in real-time. The C++ compiler and standard library are updated to enhance support for C++11 and C++14 features. Lastly, a new language service for TypeScript and JavaScript, provides support for the latest standard JavaScript features and provides rich type inference across both languages.
CMake support for C++. Support for CMake is now available in Visual Studio 2017. You can start coding by directly loading your CMake projects in Visual Studio. It is easy to switch between configurations provided by CMake and CppProperties.json file. Further configuration is also supported via CMakeSettings.json file that sits in the same folder as CMakeLists.txt file. For an overview of CMake support see the Visual C++ Team blog or watch this 10-minute CMake Video.
Linux support for C++. Visual C++ for Linux Development is a popular extension which is now part of Visual Studio 2017. To learn more about Linux development with C++ watch this video.
Live unit testing. Live unit testing, as the name suggests, tells you in real time if your unit tests will pass or fail because of the edits you just made to your code, without leaving the code editorin. Check out this blog post to learn more about live unit testing in Visual Studio 2017.
Run to Click. Most of us use temporary breakpoints. Run to Click is much slicker. Now while you’re stopped at a break state under the debugger, when you hover your mouse over a line of code you’ll see the Run to Click glyph. Click on the glyph and execution continues to and halts on that line.
Exception Helpers. We’ve added exception helpers, so you can immediately see the root cause of an exception with instant access to inner exceptions in a compact, non-modal dialog. Additionally, you can now exclude breaking on exception types thrown from specific modules by clicking the checkbox to add a condition while stopped at the thrown exception.
Small and lightweight installation. We made it easier to get up and running with Visual Studio 2017 with our new installer. The smallest installation is just one-tenth of the size of the previous version, and it installs in just a minute or two. We make it easy for you to install just the frameworks and tools you need to get up and running quickly.
5-Star Mobile Applications
Xamarin Forms Previewer. One of the most time-consuming parts of development is the build and run cycle – the time between writing a line of code and seeing it execute. Real-time feedback makes development faster, easier, and more fun for developers. The Xamarin Forms Previewer renders a live preview of a page side-by-side with the XAML markup, allowing you to see your user interface come to life in Visual Studio as you type.
Improved Xamarin Forms XAML IntelliSense. When you open any XAML document for Xamarin Forms in Visual Studio 2017, you will now greatly improved IntelliSense. The new IntelliSense supports bindings, custom properties, custom controls, converters, and much more.
Connected Services. The new Connected Services experience in Visual Studio 2017 makes it much easier to connect your mobile application to cloud services such as Azure Mobile Apps data storage and authentication . Adding a service to your project will add all required dependencies and any required initialization code to your mobile targets.
The first Connected Service we are providing for mobile developers enables you to connect your app to an Azure App Service backend, providing easy access to authentication, push notifications, and data storage with online/offline sync. This feature also allows you to create a new App Service directly from Visual Studio and have it provisioned without having to visit the Azure Portal.
Cloud Development
.NET Core. Visual Studio 2017 now supports building .NET Core 1.0 and 1.1 applications. .NET Core, which includes ASP.NET Core and Entity Framework Core, is Microsoft’s open source framework for building cloud and server applications and microservices for Windows, macOS, and Linux. It is fast and lightweight: on the Tech Empower web benchmark ASP.NET Core scores in the top 10 fastest web frameworks ahead of Java servlets, Node, Ruby, and PHP.
Simplified container support. Container development automates the repetitive tasks of setting up and configuring development environments. No longer do developers have to install complex software on their machines in order to duplicate their production machines, instead relying on a simple file that pulls in dependencies as a packaged container. Visual Studio 2017 supports building containerized applications on both Windows and Linux. .NET Core and .NET applications can be containerized during creation or after creation with a simple right-click gesture and can be run and debugged inside the container during local development.
Azure App Service support. Azure App Service provides hosting on ASP.NET and ASP.NET Core and Visual Studio has great support for publishing and debugging applications on App Service. Visual Studio 2017 now expands that support to hosting .NET Core containerized applications in App Service. .NET and Visual Studio 2017 make container development easy.
For additional details check out the latest posts on .NET Blog.
DevOps
Visual Studio 2017 improves many aspects of working in DevOps environments, from improvements to version control to improvements to the Developer Analytics tools to a preview of the ability to configure a CI/CD pipeline directly from within Visual Studio. Of particular interest are some of the improvements in Visual Studio’s Git support. We’ve added new Git features to Visual Studio that allow you to do more of your end-to-end workflow without leaving the IDE. You can easily view the diff for outgoing commits, perform a force push to complete a rebase or push an amended commit, remove your upstream branch, and continue patch rebase from Visual Studio. Additionally, because we moved to git.exe–which allows us to provide the most up-to-date features–we support SSH, respect your config options, and show in Team Explorer exactly what you see in the command line.
Most interestingly Visual Studio also includes tools not just to perform DevOps on your source code, but on your database configuration as well, thanks to the inclusion of the Redgate Developer Tools Core Edition. To extend Visual Studio 2017 DevOps capabilities to SQL Server database development, install the Data Storage and Processing workload and you’ll get:
- Redgate SQL Search. Redgate SQl Search is included with all editions of Visual Studio 2017, increases your productivity by helping you quickly find SQL fragments and objects across multiple databases.
- Redgate ReadyRoll Core. Redgate ReadyRoll Core is included with Visual Studio Enterprise 2017, helps you develop migration scripts, manage database changes using source control, and safely automate deployments of SQL Server database changes alongside applications changes.
- Redgate SQL Prompt Core. Redgate SQL Prompt Core is included with Visual Studio Enterprise 2017, helps you write, format, and refactor SQL code. You can write SQL more quickly and accurately with the help of intelligent code completion. SQL Prompt autocompletes database and system objects and keywords, and offers column suggestions as you type. This results in cleaner code and fewer errors because you don’t need to remember every column name or alias.
Additionally, your Visual Studio Enterprise subscription comes with six months of access to WhiteSource Bolt for open source vulnerability management and license checking, and to Parasoft for service virtualization. Check out the new subscriber benefits post for more details.
The Visual Studio Ecosystem
Many customers extend Visual Studio with solutions from the Visual Studio Marketplace. With today’s announcement, we have over 100 partners simultaneously shipping their extensions with the release, making over 700 extensions available to use with Visual Studio 2017.
One of the more popular extensions is Microsoft’s Productivity Power Tools. Over the last year, we’ve been reconfiguring the Power Tools to be a discrete set of extensions, and today we’re making many of them available in Visual Studio 2017.
Also, today we’re making available a preview of the Python Tools. We wanted to ensure that you have access to the Python tooling, as we are finishing up the full localization to enable us to publish them in a future minor update to all interested Visual Studio 2017 users.
Try it out and please give feedback
By now, Visual Studio 2017 may have finished installing for you. If it has, great! I’d like to address two questions we get asked a lot:
- Can I install Visual Studio 2017 alongside Visual Studio 2015? Yes. Visual Studio 2017 works side by side with these previous versions of Visual Studio: Visual Studio 2012, Visual Studio 2013, and Visual Studio 2015. Visual Studio 2017 can’t run side by side with an RC or preview version of Visual Studio 2017 or Visual Studio “15”.
- Can I install Visual Studio 2017 on top of a Visual Studio “15” Preview or Visual Studio 2017 RC? If you currently have Visual Studio 2017 RC or Visual Studio “15” Preview installed on your machine, you should see an ‘update’ button in the new installer. Click that and you will be good to go.
If you’re looking for the data science workload that was in VS 2015, it will be coming in a future update including R support.
If you have further questions, read the Visual Studio 2017 FAQ for other commonly asked questions. Want to know more about compatibility, check out Visual Studio 2017 compatibility and Visual Studio 2017 system requirements. Also, be sure to read this article to learn about offline installations.
Visual Studio 2017 has a lot of new and improved features for you to try. For the complete list of what is included in this release, along with some known issues, check out the Visual Studio 2017 Release Notes.
As always, we welcome your feedback. For problems, let us know via the Report a Problem option in the upper right corner, either from the installer or the Visual Studio IDE itself. Track your feedback on the developer community portal. For suggestions, let us know through UserVoice.
Finally, check out Visual Studio 2017 Launch Event to see members of the engineering team demo the product, and tune in on March 8 for a full day of live training.
![]() |
John Montgomery, Director of Program Management, Visual Studio @JohnMont John is responsible for product design and customer success for all of Visual Studio, C++, C#, VB, JavaScript, and .NET. John has been at Microsoft for 18 years, working in developer technologies the whole time. |















Will there be an intermediate C# 7.1 release earlier than in 2 years? Will there be a new integrated C# -> WebAssembly toolchain before next VS release?
Thanks.
Indeed, WebAssembly is the #1 topic on the #2 most requested idea on Visual Studio’s own UserVoice:
https://visualstudio.uservoice.com/forums/121579-visual-studio-2015/suggestions/10027638-create-a-ubiquitous-net-client-application-develo
Going on for over a year now in “Under Review” status and counting. Now that the launch for the impressive VS2017 is complete, efforts will be made towards this very popular and highly-requested goal.
As for C# 7.1, we are currently speculating that we will do one or more smaller updates to the language on a more frequent cadence. If we do, those will be “point releases”, and there would be a way for teams to opt out of them, snapping only to major releases.
We don’t have any plans on WebAssembly right now. When it becomes a bit more mainstream, we’ll strongly consider it. For example, I am unaware of anyone who uses it today and wasn’t able to find any examples through web searches. If I’m “missing the boat” on this topic, I’d love to know. We can continue the conversation @ dotnet@microsoft.com if you’d like.
When I go to conferences or meet with customers, webassembly doesn’t come up. So, I can certainly imagine that it is a hot topic in some quarters, but it’s not a generally common topic today.
You kind of are missing the boat, Rich. 🙂 Mono is already being ported to WebAssembly:
http://forums.dotnetfoundation.org/t/wasm-asm-js-plans-projects/1947/4
And I am not sure what you mean by mainstream? It’s already deployed in Chrome (see link in the above URL, since your blog software does not allow more than one link per comment), and has support in all major browsers. In fact I believe Edge also already has preview support as well. Once again, it has support from Microsoft, Google, *and* Apple, along with FireFox support as well.
Seeing on how it is 20 times faster than JavaScript and allows for ambitious (and wayyyyyyy overdue) projects such as getting .NET (back) into the browser, your customers should be talking with you about it soon enough. 🙂
By mainstream, I don’t mean browser support. I mean the set of popular apps that are deployed on the public internet. I don’t know of any. That’s what I want to learn to help motivate this feature.
Keep nagging them Mike!
As much as I like .Net core, as there is no way to share code between server and client, so why would one use .Net on the server? Web assembly would provide a way to do this. A way even officially supported by Apple!
All potential customers are exited abut the possibilities .Net core provides on the server. But this excitement calms immediately when learn they need to have a 2nd set of devs developing the front end(s) in JS without a way to share code.
Amazingly MSFT keeps to to just ignore this obvious fact.
I also find it curious that you have a vote sitting on top of your Visual Studio boards with nearly 6500 votes that are asking for exactly this, and it is marked as “Under Review.” … So I guess the question is, if you currently don’t have any plans for this, what exactly are you reviewing? And why has it taken over a year to review it?
The customers you “meet” aren’t just at conferences. They are actively in the feedback forums you constantly tell them to use, but apparently never actually look there to see what they are saying. 😉
Well that’s a first. Looks like I had another reply but my last reply wrote over it? Your commenting system here is insufferable. 😛
What I was saying is that you are indeed missing the boat here. WebAssembly is already “mainstream” with active deployments in Chrome and Edge. It has support from MSFT, GOOG, APPL, and FireFox support. It is also 20x faster so if your customers are not talking about it now, they will be shortly.
Furthermore (or more/most importantly), efforts are already being made to port Mono to WebAssembly, thereby attaining the wayyyyyyyy overdue goal of getting .NET (back) into the browser:
http://forums.dotnetfoundation.org/t/wasm-asm-js-plans-projects/1947/4
If the same measures are apllied to UWP, MSFT has to drop it immediately.
Xamarin is working on a WebAssembly target, similar to the work that we have done for Xamarin.iOS or Xamarin.Android, it will just another platform that Mono can compile to.
Back to the perf-sapping buttons, feedback and signin, of which neither is used but yet glare at me. How to remove those now that the registry entry
14.0_Config\MainWindowFrameControls\{73988e61-7e30-4e87-b891-23b5e460db21}\Package
field (and others) have been disappeared?
In VS2017 as part of our low impact install feature we moved much of VS registry use. You can learn more about it here: https://docs.microsoft.com/en-us/visualstudio/extensibility/breaking-changes-2017#change-reduce-registry-impact
We’d be very interested in you sharing the data you have that suggests these controls slow down VS. ETL traces or using the Feedback tool to submit the report would help us understand and hopefully fix the issue. Can you submit a report through the Feedback tool?
What about the profiler support for .NET Core?
The diagnostic tools window and cpu usage tool (see https://docs.microsoft.com/en-us/visualstudio/profiling/beginners-guide-to-performance-profiling) do support .NET Core in Visual Studio 2017. Please let us know if you run into any issues or have any feedback about the tools.
Thanks!
Congrats on the release!! Greatly looking forward to the new project system.
I will say that I am shocked that you wrote a blog post announcing the release without mentioning the new project format or the new language versions.
Nothing about desktop development WPF and Windows Forms in the launch keynotes events.
Only the ugly and limited mobile UWP garbage.
JaviAI – For someone who’s got their eye on the latest software, it’s odd that you’re still hung up on Forms. I’d be surprised if VS (this decade) was permitted on your computer. Wouldn’t you be rocking 2009 on W7 anyway.
That’s a reason of why Windows 7 has more marketshare than Windows 10. And no one really likes Windows 10, vast mayority of Windows 10 users are forced by an upgrade or others buy new computers with no option to select OS.
Windows 10 is a limited mobile OS in a mobile first, cloud first, ads first, telemetry first and desktop never again from Microsoft limited vision.
Windows 10 has less features than Windows 10, less network options, less control update options, removed features like real “Start Menu”, Shadow Copies, Advanced Appearance Settings and a lot of more. Also users has lost control of the OS with Windows 10. With Windows 7 the user has the control of the OS, with Windows 10 Microsoft has the control of the OS.
I don’t know nothing that really likes Windows 10. People really hates Windows 10 and prefers Windows 7.
You will see Windows 7 marketshare growing next months, in constrast to the decreasing marketshare of Windows 10.
Sorry but Windows 10 and UWP is not the future. Has nothing well to contribute to the computer world.
You’re wrong on a number of points.
“Windows 7 has more market share” – Windows 10 has greater market share in important segments – power users, content producers and gamers for instance, Windows 10 is 20% over Windows 7. You can’t look at net-stats and think that’s the way the world is.
“no one really likes Windows 10” – absolute BS. Everyone I know that uses 10 loves it and have been encouraging laggers to just upgrade already. You’ve got your head in the sand if you think W10 isn’t good.
“Windows 10 is a limited mobile OS” – Haha, now I know your just a troll. You have no idea about operating systems if you think it’s a mobile OS. You’re obviously here just to troll.
The rest of your response is just troll nonsense. Windows 7 has been falling in market-share in the production and gaming segment steadily since 10 came out. Because 10 is just a better version of 7, it’s the same operating system you know – many things added and very little taken away.
Gavin – where you work do you just target Windows 10 users? If not then how do you write desktop apps for Win 7, 8 users. It makes no sense to use UWP at the moment as one can write in WinForms or WPF and target *all* version of Windows including 10. (Or move to writng web apps which is where most enterprise shops are moving)
I’m an independent game developer. So from a game developers perspective – most people use Windows 10 and there’s a strong trend toward W10 adoption in that sector. Gamers are like power users and content producers, they don’t hold on too tightly to older operating systems. It’s easy to upgrade and all your software still runs. Productivity s/w from Adobe, Microsoft, Autodesk, etc, all keeps pace with operating system developments. Windows 8 hardly exists now in the gaming sector, it can be disregarded, Windows 7 is still around because it had such a huge install base, but it’s already heading down toward 30%. In gaming you can target Windows 10 now, and many games don’t bother targeting Windows 7 or 8.
Having said all that Robert, I do have some small non-game projects on the boil. But I still don’t bother targeting Win7 or 8 particularly (although I do by accident). It’s just a waste of time to support those people from my perspective. And for me, the limitation of UWP is not the operating system, but rather, the API coverage. That’s where UWP lacks some capabilities. And if an API set isn’t available I fall back to .net framework, or even C++ api’s (eg. C++ MT compute libraries have been useful), Sometimes I use WPF, but also I can utilize custom UI’s because I work with Managed DirectX all the time (via SharpDX). So I have a couple of my own UI systems.
I understand that Enterprise is different, it’s a slow moving beast. But I just asked my partner about it, she works for government, and she thinks they use Windows 10 now (after they moved buildings).
Ah, I see that would make sense. I’m coming at it from a UK perspective where we sell into local and national government level where due to costs and risk most are still on Windows 7. I also found this report which claims the wider adoption of Windows 10 is barely 25% http://www.theinquirer.net/inquirer/news/3001760/windows-10-fails-to-hit-a-25-per-cent-market-share-as-windows-7-has-another-rebound . As you say it very much depends on the market you are targeting but I would expect most Visual Studio users will be targeting as broad a market as possible.
Its the customer deciding this. Not us developers. Maybe you have a different audience, but every company having corporate customers can’t use UWP because it only runs on Windows 10. We have hundreds of industrial customers from small to enterprise. Guess how many of them already use Windows 10? None. Guess how many of them have plans with firm dates to migrate to Windows 10? Two. In Numbers: 2. Those customers are planning to migrate 2019.
So if MSFT wants to convince us of UWP: 1) Convince corporate customers to migrate to Windows 10, so they can run UWP in the first place. 2) Show us by example how we cram the UI of a complex application into a UWP touch first UI. Bring a UWP Version of VS, or Excel. While providing the full functionality, not by stripping it down to a touch toy.
Actually there is a lot improvements concerning WPF in VS2017. VS2015 was very buggy – a lot of errors have been displayed in XAML editor that were not really errors, just the IntelliSense was broken. Now it’s all gone and at last I can edit my WPF projects without all those problems.
Agree – where is the WPF team? WPF intern? anyone? Beuller…Bueller…
I recieve and answer about this in another blog from Microsoft. Very interesting and cool!
“Rich Lander [MSFT]
Good point, on WPF and Windows Forms. We are planning enhancements to Windows Forms and WPF for next version. We got some recent feedback from Satya (yes, that one) that he wanted to see more investment in the client stacks for .NET Framework. Nothing specific to report at the moment.”
No VS 2017 Express ?
Yes, Its now called Visual Studio Community 2017 and its free.
almost free, not for corporations
Head to the bottom of this page: https://www.visualstudio.com/vs/visual-studio-express/
You will see this:
Still want Visual Studio Express?
Visual Studio 2017 Express will be available soon. Right now, if you want to download Express, you can download Visual Studio 2015.
Any chance Find All References will finally find references in MVC view files?
Not yet, but we are planning on adding support in an future update to VS2017
Got to say I agree with this. My work forces me to use W8.1 and I’ve done my best to fix the UI but 90% of my click-by-click interaction with this OS make me think “How on Earth could they possibly have thought this was an improvement on W7 ?”
As for W10, I bought a new PC in component form to replace my trusty W7 desktop dating from 2010, assembled it and installed W10. I haven’t switched it on for nearly a month : inertia and my preference for W7 keeps me using the old PC. That’s a first…
Save your sanity, spend $8 on Start10 from Stardock Software and never seen that miserable Win10 pretend-everyone-has-a-tablet UI again. Once you get to a normal Start menu and desktop, Win10 is actually fine for day to day development.
I’ve been using the product and I like what I’ve seen so far.
Is there an anticipated release date for Business Intelligence tools and templates? Also, will Visual Studio Tools for Applications be updated and released for 2017?
Hi Art, we are planning to update and release VSTA for VS 2017.
worst experience ever is to have to open a separate web browser window to see the work item UI, instead of it being embedded in the IDE
I know there’s a workaround this time, but seems it’s only temporary until next major version 🙁
the WI UI inside the IDE is just far more productive (faster and less context switching) and robust experience (have you ever experienced Edge crashing? 🙂 more than VS for sure …)
Very happy with the performance improvements. Startup time and load times are obviously faster, I’ve had startup times between 30% to 3x improvement. Incredible! Well done.