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

Notification

Icon
Error

NCrunch with reqnroll fails after update to net10
samholder
#1 Posted : Tuesday, February 17, 2026 2:46:47 PM(UTC)
Rank: Advanced Member

Groups: Registered
Joined: 5/11/2012(UTC)
Posts: 100

Thanks: 28 times
Was thanked: 12 time(s) in 12 post(s)
Hi,

I'm getting a strange error after updating some projects to .net10 when I use reqnroll with NCrunch.

The tests run fine in VS test runner and when I use dotnet test, but in NCrunch I get:

Assembly initialize/cleanup failed: System.AggregateException: One or more errors occurred. (One or more errors occurred. (Interface cannot be resolved: Reqnroll.UnitTestProvider.IUnitTestRuntimeProvider('nunit')))
---> System.AggregateException: One or more errors occurred. (Interface cannot be resolved: Reqnroll.UnitTestProvider.IUnitTestRuntimeProvider('nunit'))
---> Reqnroll.BoDi.ObjectContainerException: Interface cannot be resolved: Reqnroll.UnitTestProvider.IUnitTestRuntimeProvider('nunit')
at Reqnroll.BoDi.ObjectContainer.TypeRegistration.<>c__DisplayClass3_0.<ResolvePerContext>b__1()
at Reqnroll.BoDi.ObjectContainer.RegistrationWithStrategy.ExecuteWithLock(Object lockObject, Func`1 getter, Func`1 factory, ResolutionList resolutionPath, TimeSpan timeout)
at Reqnroll.BoDi.ObjectContainer.TypeRegistration.ResolvePerContext(ObjectContainer container, RegistrationKey keyToResolve, ResolutionList resolutionPath)
at Reqnroll.BoDi.ObjectContainer.RegistrationWithStrategy.Resolve(ObjectContainer container, RegistrationKey keyToResolve, ResolutionList resolutionPath)
at Reqnroll.BoDi.ObjectContainer.ResolveObject(RegistrationKey keyToResolve, ResolutionList resolutionPath)
at Reqnroll.BoDi.ObjectContainer.Resolve(Type typeToResolve, ResolutionList resolutionPath, String name)
at Reqnroll.BoDi.ObjectContainer.Resolve(Type typeToResolve, String name)
at Reqnroll.BoDi.ObjectContainer.Resolve[T](String name)
at Reqnroll.Infrastructure.ContainerBuilder.CreateGlobalContainer(Assembly testAssembly, IRuntimeConfigurationProvider configurationProvider)
at Reqnroll.MSTest.ReqnrollPlugin.MsTestContainerBuilder.CreateGlobalContainer(Assembly testAssembly, IRuntimeConfigurationProvider configurationProvider)
at Reqnroll.TestRunnerManager.CreateTestRunnerManager(Assembly testAssembly, IContainerBuilder containerBuilder)
at Reqnroll.TestRunnerManager.<>c__DisplayClass47_0.<GetTestRunnerManager>b__0(Assembly assembly)
at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
at Reqnroll.TestRunnerManager.GetTestRunnerManager(Assembly testAssembly, IContainerBuilder containerBuilder, Boolean createIfMissing)
at Reqnroll.TestRunnerManager.OnTestRunStartAsync(Assembly testAssembly, IContainerBuilder containerBuilder)
at MyCompany_MyNamespace_Acceptance_MSTestAssemblyHooks.AssemblyInitializeAsync(TestContext testContext) in C:\NC\27844\43\src\Acceptance\obj\Debug\net10.0\MSTest.AssemblyHooks.MyCompany_MyNamespace_Acceptance.cs:line 49
--- End of inner exception stack trace ---
at MyCompany_MyNamespace_Acceptance_MSTestAssemblyHooks.AssemblyInitializeAsync(TestContext testContext) in C:\NC\27844\43\src\Acceptance\obj\Debug\net10.0\MSTest.AssemblyHooks.MyCompany_MyNamespace_Acceptance.cs:line 54
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait()
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
The method must be static, public, does not return a value and should take a single parameter of type TestContext. Additionally, if you are using async-await in method then return-type must be Task.

We are using MSTest as the tests for reqnroll, not nunit.

I've tried adding the mstest provider explicitly to the reqnroll config file and verified that this config file appears in the NCRunch workspace for the test, but it doesn't seem to make any difference.

At .net 8 this all seemed to work, it seems it only at .net 10 that I have an issue

I will try and create a minimal repro solution but wanted to get this out there first

samholder
#2 Posted : Tuesday, February 17, 2026 3:36:28 PM(UTC)
Rank: Advanced Member

Groups: Registered
Joined: 5/11/2012(UTC)
Posts: 100

Thanks: 28 times
Was thanked: 12 time(s) in 12 post(s)
I was able to recreate this with a sample project which you should be able to download from here:

https://limewire.com/d/iIbOT#7WEidYxJSp

hopefully this will help with identifying the issue.
Remco
#3 Posted : Tuesday, February 17, 2026 10:40:37 PM(UTC)
Rank: NCrunch Developer

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

Thanks: 1019 times
Was thanked: 1369 time(s) in 1270 post(s)
Hi Sam, thanks for taking the time to share this issue.

Could you check whether the build in this thread resolves it for you? There is a fix for Reqnroll support that is expected to be pushed with the next build of NCrunch in a few weeks time.
samholder
#4 Posted : Wednesday, February 18, 2026 8:39:56 AM(UTC)
Rank: Advanced Member

Groups: Registered
Joined: 5/11/2012(UTC)
Posts: 100

Thanks: 28 times
Was thanked: 12 time(s) in 12 post(s)
yep, that seems to work now. much appreciated.

Any timeline on the release date for the official next version (not that I have an issue with the interim build, these have never let me down yet), just interested
Remco
#5 Posted : Wednesday, February 18, 2026 8:44:07 AM(UTC)
Rank: NCrunch Developer

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

Thanks: 1019 times
Was thanked: 1369 time(s) in 1270 post(s)
samholder;18645 wrote:

Any timeline on the release date for the official next version (not that I have an issue with the interim build, these have never let me down yet), just interested


Most likely this will coincide with the Rider 2026.1 release. There needs to be a version of NCrunch that will ship at the same time as this, so it makes sense to just ship this at the same time, unless a lot of things suddenly break before then.

My gut says maybe a month. I guess we'll see.

The interim builds right now are very stable, so you should be all good for the time being.
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.043 seconds.
Trial NCrunch
Take NCrunch for a spin
Do your fingers a favour and supercharge your testing workflow
Free Download