{"id":181,"date":"2017-08-15T16:17:19","date_gmt":"2017-08-15T16:17:19","guid":{"rendered":"http:\/\/devblogs.microsoft.com\/nuget\/?p=147"},"modified":"2017-08-15T16:17:19","modified_gmt":"2017-08-15T16:17:19","slug":"whats-nu-in-nuget-with-visual-studio-2017-version-15-3","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/whats-nu-in-nuget-with-visual-studio-2017-version-15-3\/","title":{"rendered":"What&#8217;s Nu in NuGet with Visual Studio 2017 version 15.3?"},"content":{"rendered":"<p>We are happy to announce an update to the NuGet client that comes bundled with Visual Studio 2017 version 15.3 RTW and .NET Core 2.0 SDK. This release introduces support for new scenarios such as .NET Core 2.0\/.NET Standard 2.0, some new features, a series of bug fixes and performance improvements. You can see more details, known issues, and workarounds associated with this release in our <a href=\"https:\/\/docs.microsoft.com\/en-us\/nuget\/release-notes\/nuget-4.3-rtm\">release notes<\/a>. Here are some links to get started with using the latest NuGet functionality:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.visualstudio.com\/downloads\">Visual Studio 2017 version 15.3<\/a><\/li>\n<li><a href=\"https:\/\/www.microsoft.com\/net\/download\/core\">.NET Core 2.0<\/a><\/li>\n<li><a href=\"https:\/\/nuget.org\/downloads\">NuGet.exe<\/a><\/li>\n<li><a href=\"https:\/\/nuget.org\/downloads\">Visual Studio 2015 \u2013 NuGet Package Manager update (v3.6.0)<\/a><\/li>\n<\/ul>\n<h2>TL;DR<\/h2>\n<p>Our major focus for this release was adding support for .NET Core 2.0. In addition, we made some other improvements:<\/p>\n<ul>\n<li><a href=\"#support-for-new-tfms\">Support for new TFMs<\/a><\/li>\n<li><a href=\"#msbuild-integration-of-nuget-warnings-and-errors\">MSBuild integration of NuGet warnings and errors<\/a><\/li>\n<li><a href=\"#support-for-semantic-versioning-200\">Support for Semantic Versioning 2.0.0<\/a><\/li>\n<\/ul>\n<p>For Visual Studio 2015, you can now start using .NET Standard 2.0 packages by installing the latest <a href=\"#update-to-the-nuget-client-in-visual-studio-2015\">NuGet client (v3.6.0) for Visual Studio 2015<\/a>.<\/p>\n<p>We are also happy to announce that we have integrated the NuGet.org facelift we had previously previewed back into the NuGet.org site and results in the following improvements available to all NuGet.org users:<\/p>\n<ul>\n<li><a href=\"#an-accessible-nugetorg-site\">An accessible NuGet.org site<\/a><\/li>\n<li><a href=\"#prominent-package-details\">Prominent package details page<\/a><\/li>\n<li><a href=\"#streamlined-account-settings\">Streamlined account settings<\/a><\/li>\n<\/ul>\n<h2>Support for new TFMs<\/h2>\n<p>We have added support for the following TFMs &#8211; <code>netcoreapp2.0<\/code> and <code>netstandard2.0<\/code>. We also enabled <code>Tizen<\/code> as a supported TFM that helps integration of Tizen .NET libraries with Xamarin Forms. The complete list of supported TFMs is reflected in this <a href=\"https:\/\/docs.microsoft.com\/en-us\/nuget\/schema\/target-frameworks#supported-frameworks\">documentation<\/a>.<\/p>\n<h2>MSBuild integration of NuGet warnings and errors<\/h2>\n<p>We have integrated NuGet warnings and errors with MSBuild so you can use existing MSBuild properties to suppress certain warnings or elevate them to errors. In addition, we have also improved warnings and errors to output relevant information and thereby making them more actionable. All NuGet warnings\/errors now have a unique number associated with them as documented <a href=\"https:\/\/docs.microsoft.com\/en-us\/nuget\/reference\/errors-and-warnings\">here<\/a>.<\/p>\n<p><strong>Note<\/strong>: These improvements are only available to project systems that support expressing NuGet dependencies using <a href=\"https:\/\/docs.microsoft.com\/en-us\/nuget\/consume-packages\/package-references-in-project-files\">PackageReference<\/a>.<\/p>\n<h3>How does it work?<\/h3>\n<p>As an example, when you install a .NET Framework package (say RestSharp) into a .NET Core 2.0 project, you will see the following <a href=\"https:\/\/docs.microsoft.com\/en-us\/nuget\/reference\/errors-and-warnings#nu1701\">NU1701<\/a> warning:<\/p>\n<pre><code>Warning NU1701 Package 'RestSharp 105.2.3' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.0'. This package may not be fully compatible with your project. \n<\/code><\/pre>\n<p>If you are okay with the risk as stated by the warning and do not want to see it in future restores\/builds, you can do one of the following:<\/p>\n<h4>Suppress the warning in the project on a PackageReference basis<\/h4>\n<p>To suppress the warning, you can go to the package properties window and add<\/p>\n<p><a href=\"https:\/\/docs.microsoft.com\/en-us\/nuget\/reference\/errors-and-warnings#nu1701\">NU1701<\/a> to the NoWarn property: <img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/49\/2019\/05\/SuppressWarningPerPackage.png\" alt=\"Suppress warning for package reference\" \/> This results in the following entry being created in the project file:  NU1701 <\/p>\n<h4>Suppress the warning at a project level<\/h4>\n<p>If you do not want to see the warning at all in the project irrespective of the package reference that introduces it, you can suppress it in the project\u2019s build properties:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/49\/2019\/05\/SuppressWarningPerProject.png\" alt=\"Suppress warning at a project level\" \/> This results in the following entry being created in the project file:  NU1701 <\/p>\n<h4>Elevate a warning to an error<\/h4>\n<p>In case you want to elevate a specific warning to an error, you can do so by specifying the same in the Build properties:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/49\/2019\/05\/ElevateWarningAsError.png\" alt=\"Elevate warning to error\" \/> This results in the following entry being created in the project file:  NU1605 <\/p>\n<h4>A word of caution!<\/h4>\n<p>If you have set your project\u2019s build property to treat all warnings as errors, you may start to see your builds fail because of the NuGet warnings now being flagged as errors. You can choose to either fix these warnings and\/or suppress them using one of the mechanisms specified above.<\/p>\n<h2>Support for Semantic Versioning 2.0.0<\/h2>\n<p><a href=\"http:\/\/semver.org\/#semantic-versioning-200\">Semantic Versioning 2.0.0<\/a> specification has been out for a long time and we have gotten multiple requests to support it. We have been listening to your requests and <a href=\"https:\/\/github.com\/NuGet\/Home\/issues\/3610\">feedback<\/a> and are happy to announce SemVer 2.0.0 support for NuGet starting with our latest client releases including NuGet 4.3.0, Visual Studio 2017 version 15.3 and dotnet.exe 2.0.0. We are also making this support available for Visual Studio 2015 as a separate <a href=\"https:\/\/nuget.org\/downloads\">download<\/a>.<\/p>\n<h3>A word of caution!<\/h3>\n<p>If your package version contains one of the following, they will not be visible from the older clients (NuGet clients before 4.3.0 or Visual Studio before 2017 version 15.3):<\/p>\n<ol>\n<li>The pre-release label is dot-separated, e.g. 1.0.0-alpha.1<\/li>\n<li>The version has build-metadata, e.g. 1.0.0+githash We recommend you consider this to be a beta-feature until a significant majority of our users are on these latest clients that understand Semantic Versioning 2.0.0. Read more on Semantic Versioning 2.0.0 NuGet support, <a href=\"https:\/\/docs.microsoft.com\/en-us\/nuget\/reference\/package-versioning#semantic-versioning-200\">here<\/a>.<\/li>\n<\/ol>\n<h2>Update to the NuGet client in Visual Studio 2015<\/h2>\n<p>We wanted to ensure that developers using Visual Studio 2015 can use packages targeting .NET Standard 2.0, and have created an <a href=\"https:\/\/nuget.org\/downloads\">update<\/a> to the NuGet client in Visual Studio 2015 that adds the following improvements:<\/p>\n<ul>\n<li>\n<p>Support for consuming .NET Standard 2.0 packages into the compatible projects<\/p>\n<\/li>\n<li>\n<p>Support for Semantic Versioning 2.0.0 packages<\/p>\n<\/li>\n<li>\n<p>Fix for UI hang bug as described in NuGet <a href=\"https:\/\/github.com\/NuGet\/Home\/issues\/4976\">#4976<\/a><\/p>\n<\/li>\n<\/ul>\n<h2>The facelift to NuGet.org site is live!<\/h2>\n<p>A month ago, we had announced a significant redesign of the NuGet.org site. We got a ton of great feedback, and for that, we are always grateful. We were able to address a majority of that feedback as listed below (See full list of issues <a href=\"https:\/\/github.com\/NuGet\/NuGetGallery\/issues?q=label%3A&quot;Redesign%20Feedback&quot;%20\">here<\/a>):<\/p>\n<h3>Condensed list for \u2018Manage Packages\u2019 <a href=\"https:\/\/github.com\/NuGet\/NuGetGallery\/issues\/4431\">#4431<\/a><\/h3>\n<p>We have improved the author\u2019s view of packages they own to make it more manageable \u2013 sorted and compact:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/49\/2019\/05\/CondensedManagePackagesList.png\" alt=\"Condensed Manage packages list\" \/><\/p>\n<h3>Search results consistency with Visual Studio <a href=\"https:\/\/github.com\/NuGet\/NuGetGallery\/issues\/3791\">#3791<\/a>, <a href=\"https:\/\/github.com\/nuget\/nugetgallery\/issues\/4493\">#4493<\/a><\/h3>\n<p>We have made the package ID to be the consistent identifier (header) for the packages that show up on NuGet.org or Visual Studio:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/49\/2019\/05\/PackageTitleAndIDConsistency.png\" alt=\"Condensed Manage packages list\" \/><\/p>\n<p>The NuGet.org package search has a new filter for prelease packages so that search results would be consistent with this existing functionality on Visual Studio:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/49\/2019\/05\/IncludePrereleaseFilter.png\" alt=\"Include pre release filter\" \/><\/p>\n<p>In addition, we have made some improvements to package search results to fit more items by reducing the package ID font size and by removing the unnecessary separator line. We will continue to explore more ways to improve this page. In case you missed the improvements we made to NuGet.org, here is a quick summary of our previous <a href=\"http:\/\/blog.nuget.org\/20170718\/NuGet-Gallery-Gets-A-Facelift.html\">blog post<\/a>:<\/p>\n<h3>An accessible NuGet.org site<\/h3>\n<p>We are committed to making sure that NuGet.org is fully accessible to all users. We addressed many accessibility issues for this preview in accordance with <a href=\"https:\/\/www.section508.gov\/content\/learn\/laws-and-policies\">Section 508 Laws<\/a> and <a href=\"https:\/\/www.w3.org\/TR\/WCAG20\/\">Web Content Accessibility Guidelines (WCAG 2.0 AA)<\/a>. If you find any accessibility issues, please let us know by <a href=\"https:\/\/github.com\/NuGet\/NuGetGallery\">filing an issue on GitHub<\/a>. Some of the changes we\u2019ve made include:<\/p>\n<ul>\n<li>\n<p>Updating tab order on all pages to ensure proper keyboard navigation<\/p>\n<\/li>\n<li>\n<p>Setting ARIA attributes on elements to make sure screen-reader technologies work on the website<\/p>\n<\/li>\n<li>\n<p>Ensuring all interactive elements have visual feedback for when they are focused by the keyboard<\/p>\n<\/li>\n<li>\n<p>Setting text colors to properly contrast with backgrounds with a minimum ratio of 4.5:1<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/49\/2019\/05\/NuGet-Gallery-Accessibility-Focus.gif\" alt=\"Accessibility Demo\" \/><\/p>\n<\/li>\n<\/ul>\n<h3>Prominent package details<\/h3>\n<p>During our discussions, we heard from you what information is important when determining the viability of a package. The importance of various aspects like freshness, download count, license type, access to a project site, and many more influenced the design of a more streamlined package details page.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/49\/2019\/05\/NuGet-Gallery-PackageInfo-Overview.png\" alt=\"Package Details Page\" \/><\/p>\n<p>We created sections to divide package details to make it easier to parse through all the information to get a better understanding of a package. All the vital information is placed at the top of the page to be seen first when navigating to the page. Additionally, the project site now displays as the full URL (if it is under a certain number of characters), publish date is more readable, and license type is made more prominent. Now that NuGet is supported by a variety of consoles, we wanted to support the many ways users can add packages to their projects. We\u2019ve made it easier to copy the command to install a package and added a new tab for the command to install using the .NET CLI.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/49\/2019\/05\/NuGet-Gallery-PackageInfo-CLI.gif\" alt=\"CLI Support Demo\" \/><\/p>\n<h3>Streamlined account settings<\/h3>\n<p>We\u2019ve made it easier for users to access their account settings, moving away from a centralized account page that combined unrelated settings together. Now, API keys and package management controls can be accessed from any page with the account dropdown. It\u2019s much easier for authors to manage their packages.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/49\/2019\/05\/NuGet-Gallery-AccountSettings.gif\" alt=\"New Account Settings Menu\" \/><\/p>\n<h2>We want to hear your feedback!<\/h2>\n<p>We want NuGet to meet the evolving needs of our community. In case you missed it, we recently published a <a href=\"https:\/\/blog.nuget.org\/20170809\/NuGet-Fall-2017-Roadmap.html\">post<\/a> that describes some of the experiences we are working in the near future. Share your thoughts with us at <a href=\"mailto:&#102;&#101;&#x65;&#x64;&#x62;&#x61;&#x63;&#107;&#064;&#110;&#117;&#103;&#x65;&#x74;&#x2e;&#x6f;&#x72;&#103;\">&#102;&#101;&#x65;&#x64;&#x62;&#x61;&#x63;&#107;&#064;&#110;&#117;&#103;&#x65;&#x74;&#x2e;&#x6f;&#x72;&#103;<\/a>. You can also leave a comment below, and as always, if you run into any issues or have an idea, open an issue on GitHub: <a href=\"https:\/\/github.com\/NuGet\/Home\/issues\">NuGet client issues<\/a>, <a href=\"https:\/\/github.com\/NuGet\/NuGetGallery\/issues\">NuGet server issues<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are happy to announce an update to the NuGet client that comes bundled with Visual Studio 2017 version 15.3 RTW and .NET Core 2.0 SDK. This release introduces support for new scenarios such as .NET Core 2.0\/.NET Standard 2.0, some new features, a series of bug fixes and performance improvements. You can see more [&hellip;]<\/p>\n","protected":false},"author":139,"featured_media":56242,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7874,7930],"tags":[],"class_list":["post-181","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-nuget","category-release-announcement"],"acf":[],"blog_post_summary":"<p>We are happy to announce an update to the NuGet client that comes bundled with Visual Studio 2017 version 15.3 RTW and .NET Core 2.0 SDK. This release introduces support for new scenarios such as .NET Core 2.0\/.NET Standard 2.0, some new features, a series of bug fixes and performance improvements. You can see more [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/181","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/139"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=181"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/181\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/56242"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=181"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=181"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}