Microsoft has come to the conclusion that the project.json experiment has failed and will be shifting back to using .csproj files. However, this won’t happen right away and the recently released .NET Core RC2 (a.k.a. tooling preview 1) will continue to use a combination of .xproj and project.json.
Starting in .NET Core RTM/tooling preview 2, Visual Studio will automatically rename .xproj files as .csproj. However, the project.json’s functionality won’t change just yet.
After preview 2, Microsoft will start working on moving project.json’s functionality into csproj. Some of that will simply require updating Visual Studio. For example, .csproj already support wildcards, even though Visual Studio insists on adding source files one by one. Other features of project.json may require significantly more work to integrate into .csproj.
At the end of this process, project.json may only exist as an alternative to Nuget’s packages.config file. If that happens, it will probably be renamed to nuget.json.
MSBuild
For those of you who don’t know, .csproj files are really just specialized versions .msbuild scripts. This means MSBuild will need to be available wherever .NET Core runs.
Long term, Microsoft is looking into adding NuGet functionality directly to MSBuild. (Currently MSBuild relies on extensions to access NuGet.)