Support .NET Core, .NET Standard (previously known as DNX) projects
Surprised this hasn't already been requested.
Going to be necessary to implement.
I'm adding a general note here to state that netstandard support will also be investigated as part of this work, considering the relationship with .NET Core.
Integrating with these platforms is unfortunately impossible at the moment as Microsoft has not yet released the toolchain required to support them.
At the moment anyone working in .NET Core is using an interim solution that has been published by Microsoft and is still undergoing heavy changes. When developing using the libraries, the toolchain is not particularly important as your code isn't really bound to it ... but when integrating a product like NCrunch, the toolchain is the only thing that is truly relevant.
It might seem that integrating with the interim toolset is an option for NCrunch, but it really isn't. The toolset development is moving so fast that by the time it's been integrated, the goalposts will already have moved. I have, actually, tried to do this twice already (at the cost of entire months of work).
Other tool vendors also share this problem. I expect it is the primary reason why support for these new frameworks is very patchy in 3rd party tooling.
So I will ask everyone to please be patient with this, as the situation isn't under my control. We need to wait for Microsoft to fully release this platform. I am aware of how badly everyone wants it and you can be assured that it is the #1 priority for future development as soon as it is unblocked.
Core is now released and package maintainers are being encouraged to target netstandard where relevant. Attempting to use any such packages with NCrunch is currently failing because NCrunch cannot build. This is gonna be a huge blocker for many wanting to move forward.
Martin Klinke commented
FYI, the .NET Core Roadmap (see https://github.com/dotnet/core/blob/master/roadmap.md) mentions Fall 2016 for the 1.1 release.
From the roadmap: "The tooling should reach RTM quality with version 1.1 of the .NET Core runtime in Fall 2016."
Martin Klinke commented
As I really love working with NCrunch, it's a shame that I can't use it for building .NET Core apps right now, even though the 1.0 version is already available. Looking forward to the support of the latest .NET platform in NCrunch. Hopefully, we don't have to wait until 2017...
Sorry, I can give no indication on when this will be supported by NCrunch, as Microsoft do not yet have a release date for the .NET Core build tools.
The expectation at the moment seems to be that these tools will be released with the next version of Visual Studio, so probably it will be some time next year. Integration with .NET Core is impossible until the build tools are in a stable state.
.NET Core/ASP.net Core is going RTM this June 27.
Any schedule for NChrunch to support the platform yet?
Scott Hunter has recently posted an update on DNX development (now called .NET Core) at Microsoft: https://blogs.msdn.microsoft.com/dotnet/2016/05/06/net-core-rc2-improvements-schedule-and-roadmap/
Scott explains that the runtime libraries of .NET Core are set for RC2 next month, with the expectation that they will hit RTM by the end of June.
.NET Core tooling is still under ongoing development and aside from some preview builds, looks like it will be released alongside VS15. As far as I'm aware, VS15 doesn't have an official release date yet, but based on the progression of previous VS releases, my gut feel is early 2017.
Unfortunately, for the purposes of NCrunch's integration, the most important part of .NET Core is the toolchain needed to support it. For NCrunch to be able to build .NET Core projects and run tests over them, it needs to tie into the build system and packaging platform that makes this possible. According to Scott's post, this area of .NET Core is not yet stable and is still under heavy development.
After two failed attempts at integrating with .NET Core during its development, I'm reluctant to yet again try to hit a moving target with an interim solution. Every hour that is spent trying to add support to an unfinished platform is time taken away from making other important improvements to NCrunch, and ultimately will likely end up being time wasted as the platform continues to rapidly move.
Sorry, but it looks like it will still be some time before .NET Core will be supported by NCrunch.
Radosław Chybicki commented
@Aaron Dandy - Please provide more details on how to do this and what are the limitations, having NCrunch running in any way would be great.
Aaron Dandy commented
I'm working around this (limited functionality) by keeping my test projects as .net 461 and using a binary reference to the net461 output from the dnx project.
Josh Close commented
I just switched my library over to using CoreCLR. NCrunch is a huge time save for me so I'm really looking forward to this.
What is your recommended way to support it right now? I was thinking that I would have to keep a .NET 4.0 project around has file links to the CoreCLR project, and do the work there for NCrunch to work properly.
Latest update is that we're waiting for the next RC before re-evaluating whether DNX is ready for integration. Sorry I wish I had more information, but this feature area is entirely dependent upon Microsoft's release schedule for DNX.
Sean Bennett commented
I was wondering if you had any updates on DNX implementation now that we're moving through April? I had been using NCrunch for a few years, but have missed it for the last year or so while we switched to the OS stack. Cheers!
The latest news here is that DNX appears to be set for a bumpy release soon. Based on conversations I've had with people at Microsoft, we're looking at integrating in early April.
As of writing this update, DNX has just hit RC1, and MS have already announced plans for an RC2 release including a number of changes in Q1 2016.
Lots of people are asking after updates on when NCrunch will be able to work with this platform. It's great to see so much demand for this, and I'm happy to say that it will eventually be integrated.
Picking the right time to integrate with a pre-release product can be very difficult. Integrating too early can make the integration much more expensive, as instability on the other side of the integration point along with lack of documentation/examples can greatly increase effort required. Even worse, it can lead to repeated effort when the integration target changes in structure, as it very often does even in its late stages of development.
DNX is a very challenging integration target for NCrunch. It involves a whole new runtime platform, and it completely replaces MSBuild. This makes it the biggest integration task ever for NCrunch. For this integration to happen, DNX really needs to be a less volatile state than it is right now. So far every update to the platform has involved significant changes, including assembly/namespace restructuring and major shifts in design. We're just not quite there yet. We're really not.
The current plan is to revisit the integration with the release of DNX RC2 in Q1 2016.
It's becoming a top request and RC1 and RC2 are coming soon. I really think you must start a beta or alpha on this.
I actually using xUnit + OpenCover + ReportGen to see the coverage. It's working but nChrunch is soooooooo much better !!!
What is the latest status on this?
DNX beta 8 was released a few days ago. Beta 8 is feature complete. They will release RC1 next month.
I recently started converting my major desktop application (WPF) to a ASP.NET 5 web app. Life without NCrunch is painful. If you need beta testers for DNX support, please sign me in. I will be working with ASP.NET 5 projects almost full time in the next 3~6 months.
Microsoft have posted their DNX roadmap, which indicates an RTM release early in 2016, with an aim for beta later this year.
So far all attempts to integrate with DNX have failed, as every time progress is made with integrating, the entire DNX source structure changes.
Support for DNX will likely be introduced when this platform is stable and closer to its release. Probably towards the end of the year, or in January.
Albert Weinert commented
Any Updates? 2015 is RTM since ages ;)
And we are currently developing for DNX451 and DNXCORE50 (but it would help if runs test for DNX451 only currently)
Damian Hickey commented
While birthed from AspNet team, DNX is independent of AspNet. i.e. you can use it to build .net4.5 class libs and console projects. I would expect that is 'done' when VS2015 is out. Given Win10 is around the corner, I strongly suspect that is imminent.
The AspNet5 stuff is beta (in the loosest sense of the word), so yeah steer clear of that :)