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.)
Community comments
Any source for this post?
by Tiger Wang,
Re: Any source for this post?
by Jonathan Allen,
I liked Project.json a lot but....
by Vijay Jain,
Re: I liked Project.json a lot but....
by Raul Planas,
Sad to hear!
by Jesse Thompson,
Any source for this post?
by Tiger Wang,
Your message is awaiting moderation. Thank you for participating in the discussion.
I thought MS has just started supporting project.json...
Re: Any source for this post?
by Jonathan Allen,
Your message is awaiting moderation. Thank you for participating in the discussion.
project.json is also part of Windows Universal Apps, so it's been around for a little while.
They didn't explicitly list out their reasons, but basically its coming down to how difficult it is to support 2 wildly different project file formats. And from what I gather, project.json really doesn't work outside of Microsoft's own tooling, which is a problem for third party tool developers (and probably their own teams as well).
Sorry I forgot the link to the ASP.NET Community Standup.
www.youtube.com/watch?v=P9HqMZviaMg&list=PL...
I liked Project.json a lot but....
by Vijay Jain,
Your message is awaiting moderation. Thank you for participating in the discussion.
Yes, I read that too last week here www.talkingdotnet.com/news-project-json-asp-net...
It is going to go after the RTM release. I believe microsoft itself is not clear what they want. Project.json was a welcome change and I personally liked it lot. JSON is better than XML but now we are back to .csproj with XML. First they changed the name and now they are changing this. Our team was planning to start a new project on RC1 and thank god we didn't used it for our customer. I understand this is a small change and Visual studio will do it automatically but migration from RC1 to RC2 is also pain. Let's hope nothing changes after RTM.
Re: I liked Project.json a lot but....
by Raul Planas,
Your message is awaiting moderation. Thank you for participating in the discussion.
I personally would not mind moving to csproj file. Consistent in one location. And would probably provide more direct support for conditional compilation/includes of NuGet packages. This would be great for internal development of NuGet packages where consumers could dynamically choose to reference debug vs release versions of NuGet package.
Sad to hear!
by Jesse Thompson,
Your message is awaiting moderation. Thank you for participating in the discussion.
Very sad by this decision. project.json is a 100% better experience