I just updated to the latest VisualStudio 2017 RC, .Net Core 1.1.1 and worked on a previously started little ASP.Net Core app. I’ve managed Nuget packages for the app by adding and removing packages. When it came to commit my changes I thought the version control must be broken: no changes made to the package.config file each .Net developer got so used to over the last years.
After a while I took a closer look at the issue. The package.config does not exist anymore. But the .csproj file exists again (no project.json anymore) and its format changed. It’s short, really short and no GUID’s in anymore. And hey: here we go – there are the packages, right within the .csproj! Here is a complete .csproj:
netstandard1.6 library ..\..\..\..\..\..\Users\marc.duerst\.nuget\packages\microsoft.aspnetcore.identity.entityframeworkcore\1.1.0\lib\netstandard1.3\Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll ..\..\..\..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.dll
PackageReferences? So nice and clean. Not only 3rd party packages are in there but also the NetStandard library itself. I also remembered I read about this change a while ago. Microsoft re-invented the .csproj files and dropped the project.json files introduced with .Net Core 1. More infos here
R.I.P. package.config !