Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Any plans to support .NET Core / ASP.Net 5 / UWP?
Tim Long
#1 Posted : Saturday, August 20, 2016 11:53:24 PM(UTC)
Rank: Member

Groups: Registered
Joined: 8/20/2016(UTC)
Posts: 24
Location: United Kingdom

Thanks: 2 times
Was thanked: 2 time(s) in 2 post(s)
I would like to know if there are any plans to support .NET Core projects, ASP.Net 5 / MVC 6 and the Universal Windows Platform. This is a huge area of the .NET landscape where there is a lot of new opportunity but which is is currently lacking in support from many of the tools vendors.

It's early days and the landscape is evolving quickly, but I would like to know if it is at least on the road map. I think within 12 months the majority of my development is going to be centred on MVC6 and/or the Universal Windows Platform (and specifically Windows IoT Core) so obviously I'd like to know that my tools are going to carry me there. This was one of the main reasons that I've never purchased NCrunch until I was recently given it as a gift. So now that I've got a license, of course I'm more interested in future direction.

The IoT Core platform is in the most need of a good unit testing tool. Currently xUnit has an offering but its not very mature. There is currently every excuse not to do unit testing on embedded projects and I'd really like it if this started to change.

Best regards,
Tim Long
Remco
#2 Posted : Sunday, August 21, 2016 12:25:24 AM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 7,161

Thanks: 964 times
Was thanked: 1296 time(s) in 1202 post(s)
Hi Tim,

Please see here for the latest information on .NET Core/DNX support - https://ncrunch.uservoice.com/forums/245203-feature-requests/suggestions/8065623-support-dnx-projects.

Universal Windows Apps are currently not in the roadmap. This may change depending upon demand, see https://ncrunch.uservoice.com/forums/245203-feature-requests/suggestions/9216147-to-support-for-windows-10-universal-apps.
Tim Long
#3 Posted : Sunday, August 21, 2016 11:15:18 AM(UTC)
Rank: Member

Groups: Registered
Joined: 8/20/2016(UTC)
Posts: 24
Location: United Kingdom

Thanks: 2 times
Was thanked: 2 time(s) in 2 post(s)
Thanks for the response.

I'm encouraged to see that support for .NET Core is "#1 Priority" once the toolchain is released. The way Microsoft has released this new platform has been a bit messy, to say the least... with their "It's an RC, oh wait we are completely rewriting everything but its still an RC but we have no tooling yet". Perhaps this is what we can expect in the new 'everything is open source' paradigm, but sufficient to say, I can understand why you'd want to wait until Microsoft gets their act together. Stable tooling is clearly a little further out, but not too much further now, it would seem (Q4 2016 / Q1 2017 according to https://blogs.msdn.micro...07/15/net-core-roadmap/).

Still, it is something that .NET developers are going to have to work with, one way or another. So support is on the road map, that's great. This covers my MVC6 requirements, but leaves the 'elephant in the room' of UWP.

I would like to better understand why support for UWP apps is not on the roadmap. If one takes the user interface out of the picture (which is normal when unit testing) then what's the difficulty with supporting that scenario? Given that today one can write xUnit tests for a UWP app and run them in ReSharper or MSTest, there doesn't seem to be any inherent technological block to this, although I'm still fairly confused as to what the technological differences actually are. Is this a "not many people have asked for it" thing, or is there some fundamental road block?

Thanks,
Tim
Remco
#4 Posted : Sunday, August 21, 2016 12:56:30 PM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 7,161

Thanks: 964 times
Was thanked: 1296 time(s) in 1202 post(s)
Hi Tim,

My understanding is that the UWP platform is quite similar in structure to the original Windows Store platform. Certainly, it is the spiritual successor.

The platform itself is tightly locked down at the O/S/Win32 level, which makes certain activities difficult or even impossible at runtime. A Windows Store application can only be launched within a strictly controlled sandbox, and the manner in which the sandbox is created is indirect and not well documented. It's a whole new completely closed platform that is designed not to be tampered with. In other words, it's a horrible nightmare to integrate with. The original integration with the Windows Store platform under NCrunch took months to implement and required massive workarounds resulting in seriously degraded performance. The integration point was eventually abandoned after the platform design changed in a way that made continuous testing basically impossible (see http://blog.ncrunch.net/post/Windows-Store-Apps-No-Longer-Supported-By-NCrunch.aspx for more information).

Because MSTest/VSTest is developed by the same company that builds the platform, they have their own internal integration that essentially backdoors the sandbox. My assumption is that ReSharper invokes MSTest via standard APIs and MSTest handles the sandboxing. This approach just doesn't work for NCrunch, as NCrunch needs much more control over the runtime environment to enable its data collection.

So basically, it's hard. Hard to tie into, hard to get it running fast enough, and also very hard to maintain it. It's not impossible. But it would involve pushing the rest of NCrunch's development back and many other features would need to be shelved to make room for it. Given my previous history with trying to integrate with closed platforms, I would need to see massive demand for this before I could justify the effort.

You may wish to look into placing your backend code in portable class libraries. My understanding is that many people are doing this to work around the sandbox limitations when unit testing.
1 user thanked Remco for this useful post.
ModernRonin on 12/29/2016(UTC)
Tim Long
#5 Posted : Sunday, August 21, 2016 3:35:52 PM(UTC)
Rank: Member

Groups: Registered
Joined: 8/20/2016(UTC)
Posts: 24
Location: United Kingdom

Thanks: 2 times
Was thanked: 2 time(s) in 2 post(s)
I see, thanks for the insight.

I'm not sure what constitutes "massive demand" but for perspective, this is the 7th most popular feature on UserVoice with 76 votes.

Admittedly, the situation with the tooling and the impenetrable maze of project systems, frameworks, platforms and dependencies is a horrible mess at the moment. Some people seem to be getting to grips with it all but to me it is all pretty confusing. Apparently this all somehow simplifies things, but I just don't understand why I can't just make a DLL and use it everywhere.

--Tim
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

YAF | YAF © 2003-2011, Yet Another Forum.NET
This page was generated in 0.048 seconds.
Trial NCrunch
Take NCrunch for a spin
Do your fingers a favour and supercharge your testing workflow
Free Download