Improvements in Visual Studio 2017 15.8 for web developers - Printable Version +- Sick Gaming (https://www.sickgaming.net) +-- Forum: Programming (https://www.sickgaming.net/forum-76.html) +--- Forum: C#, Visual Basic, & .Net Frameworks (https://www.sickgaming.net/forum-79.html) +--- Thread: Improvements in Visual Studio 2017 15.8 for web developers (/thread-86054.html) |
Improvements in Visual Studio 2017 15.8 for web developers - xSicKxBot - 08-15-2018 Improvements in Visual Studio 2017 15.8 for web developers <div style="margin: 5px 5% 10px 5%;"><img src="http://www.sickgaming.net/blog/wp-content/uploads/2018/08/improvements-in-visual-studio-2017-15-8-for-web-developers.png" width="689" height="286" title="" alt="" /></div><div><p>This week we released Visual Studio 2017 version 15.8. Our 15.8 update brings the following improvements for web developers:</p> <ul> <li>Custom docker image tags during Publish</li> <li>Zip push deployment for Azure Functions</li> <li>Managing user secrets in ASP.NET Framework projects (targeting .NET 4.7.1 or higher)</li> <li>Enabling Application Insights as part of publishing to Azure App Service</li> <li>Optimizing build performance for solutions containing ASP.NET Framework projects</li> <li>Author and source information for ASP.NET Core templates</li> </ul> <h2>Custom docker image tags during Publish</h2> <p>You can now customize the “Image tag” for Docker containers when publishing them to a container registry. The value can either be automatically generated by Visual Studio every time you publish (the previous behavior), or it be manually changed if you need a consistent tag (e.g. “latest”):</p> <p><a href="http://www.sickgaming.net/blog/wp-content/uploads/2018/08/improvements-in-visual-studio-2017-15-8-for-web-developers.png"><img src="http://www.sickgaming.net/blog/wp-content/uploads/2018/08/improvements-in-visual-studio-2017-15-8-for-web-developers.png" alt="Screenshot of new property called "Image Tag" in Publish" class="alignnone size-full wp-image-14785" width="689" height="286" /></a></p> <h2>Zip push deployment & run from zip for Azure Functions</h2> <p>Visual Studio now provides the option to <a href="https://github.com/Azure/app-service-announcements/issues/84">deploy and run Azure Functions projects as zip files</a>:</p> <p><a href="http://www.sickgaming.net/blog/wp-content/uploads/2018/08/improvements-in-visual-studio-2017-15-8-for-web-developers-1.png"><img src="http://www.sickgaming.net/blog/wp-content/uploads/2018/08/improvements-in-visual-studio-2017-15-8-for-web-developers-1.png" alt="Screenshot of publish and run from zip option in Publish" class="alignnone size-full wp-image-14795" width="802" height="602" /></a></p> <p><a href="https://github.com/Azure/app-service-announcements/issues/110">Run-From-Zip</a> is a runtime feature that allows ‘mounting’ a zip file and running directly from it. Your App runs directly over the ‘mounted’ zip file, which completely takes over your wwwrootfolder (which becomes read-only). Using run from Zip offers the following benefits:</p> <ul> <li>Atomicity: when your application is deployed as as single unit, and updated as a single unit meaning publishing an update will never leave your app in a partially updated state</li> <li>Faster deployment of large applications</li> <li>Improved cold start performance</li> </ul> <h2>Managing user secrets in ASP.NET Framework projects (targeting .NET 4.7.1 or higher)</h2> <p>A feature that ASP.NET Framework projects were missing compared to ASP.NET Core was support for storing application secrets (e.g. connection strings, API keys, etc.) in a file outside of source control unique to each user. Now, with <span><a href="https://www.microsoft.com/en-us/download/details.aspx?id=56119">.NET Framework 4.7.1</a></span> and Visual Studio 15.8 it’s as simple as right clicking on the project in Solution Explorer and selecting “Manage User Secrets”:</p> <p><a href="http://www.sickgaming.net/blog/wp-content/uploads/2018/08/improvements-in-visual-studio-2017-15-8-for-web-developers-2.png"><img src="http://www.sickgaming.net/blog/wp-content/uploads/2018/08/improvements-in-visual-studio-2017-15-8-for-web-developers-2.png" alt="Screenshot of the new "Manage user secrets" menu item when right clicking in Solution Explorer" class="alignnone size-full wp-image-14805" width="524" height="781" /></a></p> <p>Visual Studio will take care of the rest including downloading the necessary NuGet packages, updating the web.config file, creating the secrets file on disk and finally opening it for you to edit:</p> <p><a href="http://www.sickgaming.net/blog/wp-content/uploads/2018/08/improvements-in-visual-studio-2017-15-8-for-web-developers-3.png"><img src="http://www.sickgaming.net/blog/wp-content/uploads/2018/08/improvements-in-visual-studio-2017-15-8-for-web-developers-3.png" alt="Screenshot of an example user secrets file" class="alignnone size-full wp-image-14815" width="491" height="137" /></a></p> <p><strong>Note:</strong> Only available for projects targeting .NET Framework 4.7.1 or higher, if you can’t see the menu item make sure you have the <span><a href="https://www.microsoft.com/en-us/download/details.aspx?id=56119">4.7.1 targeting pack installed</a></span> and that the project is actually targeting 4.7.1, you can change it from project properties:</p> <p><a href="http://www.sickgaming.net/blog/wp-content/uploads/2018/08/improvements-in-visual-studio-2017-15-8-for-web-developers-4.png"><img src="http://www.sickgaming.net/blog/wp-content/uploads/2018/08/improvements-in-visual-studio-2017-15-8-for-web-developers-4.png" alt="Screenshot of the run time drop-down available in project properties" class="alignnone size-full wp-image-14825" width="807" height="186" /></a></p> <h2>Enabling Application Insights as part of publishing to Azure App Service</h2> <p>When publishing to Azure App Service, Visual Studio asks you to either create a new App Service or re-use an existing one. If you choose to create a new App Service to host your application, Visual Studio now offers you the ability to also provision and configure Application Insights:</p> <p><a href="http://www.sickgaming.net/blog/wp-content/uploads/2018/08/improvements-in-visual-studio-2017-15-8-for-web-developers-5.png"><img src="http://www.sickgaming.net/blog/wp-content/uploads/2018/08/improvements-in-visual-studio-2017-15-8-for-web-developers-5.png" alt="Screenshot of new drop-down related to Application Insights when creating a new App Service" class="alignnone size-full wp-image-14755" width="800" height="600" /></a></p> <p>All you need to do is pick the region you would like Application Insights to be provisioned in and Visual Studio will make sure it’s configured to pick up telemetry events and metrics from the new App Service. If you wish to add custom events and metrics <span><a href="https://docs.microsoft.com/en-us/azure/application-insights/app-insights-api-custom-events-metrics">follow this guide</a></span>. Of course, you can always set the field to “None” and Visual Studio will not provision nor configure Application Insights on your behalf.</p> <h2>Optimizing build performance for solutions containing ASP.NET Framework projects</h2> <p>We added a new menu item under Build | ASP.NET Compilation | Optimize Build Performance for Solution:</p> <p><a href="http://www.sickgaming.net/blog/wp-content/uploads/2018/08/improvements-in-visual-studio-2017-15-8-for-web-developers-6.png"><img src="http://www.sickgaming.net/blog/wp-content/uploads/2018/08/improvements-in-visual-studio-2017-15-8-for-web-developers-6.png" alt="Screenshot of new menu item Build | ASP.NET Compilation | Optimize Build Performance for Solution" class="alignnone size-full wp-image-14765" width="709" height="324" /></a></p> <p>This new menu item is applicable to solutions containing ASP.NET Framework projects only and is not applicable to ASP.NET Core projects. Its purpose is to update specific ASP.NET related NuGet packages referenced by the codebase.</p> <p>When an ASP.NET Framework codebase is using out-of-date packages, the inner loop performance of Visual Studio is impacted. The motivation behind updating these packages is to restore optimal inner loop performance for a given solution. You will only have to do this once per solution and you will not have to deal with this problem in the future since the new package is designed in a way that even when it gets out of date it doesn’t affect the inner loop performance in Visual Studio.</p> <h2>Author and source information for ASP.NET Core templates</h2> <p>The dialog for new ASP.NET Core projects now shows you the author and source for the selected template:</p> <p><a href="http://www.sickgaming.net/blog/wp-content/uploads/2018/08/improvements-in-visual-studio-2017-15-8-for-web-developers-7.png"><img src="http://www.sickgaming.net/blog/wp-content/uploads/2018/08/improvements-in-visual-studio-2017-15-8-for-web-developers-7.png" alt="Screenshot of author and source information available in the New Project Dialog" class="alignnone size-full wp-image-14775" width="786" height="553" /></a></p> <ul> <li>If the template is coming from a .NET Core SDK installed on the machine, the dialog will now display the version of the SDK as the source</li> <li>If the template is coming from a VSIX (i.e. Visual Studio extension) installed on the machine, the dialog will now display the name of the VSIX as the source</li> </ul> <h2>Conclusion</h2> <p>If you’re interested in the many other great things that Visual Studio 2017 15.8 brings, check out our <span><a href="https://blogs.msdn.microsoft.com/visualstudio/2018/08/14/visual-studio-2017-version-15-8/">Visual Studio 15.8 post</a></span> on the Visual Studio blog.</p> <p>We hope that you’ll give 15.8 a try and let us know how it works for you. If you run into any issues please report them using Visual Studio, or let us know what you think below, or via Twitter.</p> <p> </p> </div> |