Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ post.

| Adapter version | Embedded engine version |
| --------------- | ----------------------- |
| 6.1.0 | 3.22.0 |
| 6.0.1 | 3.21.1 |
| 6.0.0 | 3.21.0 |
| 5.2.0 | 3.18.1 |
Expand Down
68 changes: 68 additions & 0 deletions docs/articles/vs-test-adapter/AdapterV4-Release-Notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,74 @@ uid: adapterreleasenotes

# Adapter Release Notes

## NUnit3 Test Adapter for Visual Studio and Dotnet - Version 6.1.0 - January 7, 2026

This is a bug-fix release that addresses a series of issues related to assembly loading.
It also introduces several new settings. One of these, `UseDefaultAssemblyLoadContext`, is crucial for correct assembly loading and is now enabled by default by the adapter.

The remaining settings are intended for development and diagnostics. `DebugEngine` enables debugging of the NUnit Engine, and `InternalTraceLevel` allows the engine’s internal trace level to be configured and is now passed through to the engine.

### Bug fixes

* [1393](https://github.com/nunit/nunit3-vs-adapter/issues/1393) System.IO.FileNotFoundException: Could not load file or assembly 'System.Text.Json, Version=10.0.0.0.
* [1391](https://github.com/nunit/nunit3-vs-adapter/issues/1391) NUnit3TestAdapter V6.0.1 doesn't work with Resharpers Unit Tests explorer.
* [1390](https://github.com/nunit/nunit3-vs-adapter/issues/1390) I am getting a System.InvalidCastException when updating from NUnit3TestAdapter Version=5.2.0 to 6.0.1.
* [1389](https://github.com/nunit/nunit3-vs-adapter/issues/1389) Double loading assemblys NUnit3TestAdapter 6.0.1 with Microsoft Testing Platform (MTP). Fixed by [PR 1395](https://github.com/nunit/nunit3-vs-adapter/pull/1395)
* [1375](https://github.com/nunit/nunit3-vs-adapter/issues/1375) New failures in dynamic code evaluation in v6. Fixed by [PR 1395](https://github.com/nunit/nunit3-vs-adapter/pull/1395)
* [1348](https://github.com/nunit/nunit3-vs-adapter/issues/1348) [MTP] AwesomeAssertions throws different NUnit.Framework.AssertionException than expected at runtime.

### Breaking changes

The 6.1 version of the adapter use the NUnit.Engine version 3.22.0. This version introduce a changed way of loading assemblies.
In order for the adapter to handle MTP (Microsoft test Platform) it needs to use the default loading context, which the engine may not use.
The introduction of the `UseDefaultAssemblyLoadContext` ensures this works.
The current versions of Resharper and Rider (2025.3.1) however do not yet support the `UseDefaultAssemblyLoadContext`, and therefore the user **may** experience assembly loading issues.

If you're not using Visual Studio test explorer, but only Rider or Resharper's, they will work if you don't install the adapter.

### Acknowledgements

We want to express our heartfelt gratitude to everyone who has contributed to this release
by reporting bugs, suggesting enhancements, and providing valuable feedback.
Your efforts help make NUnit better for the entire community.

A special thank you to the following reporters for identifying issues:

<table>
<tr>
<td><a href="https://github.com/ScarletKuro">Artyom M.</a></td>
<td><a href="https://github.com/cbersch">Christoph Bersch</a></td>
<td><a href="https://github.com/glennawatson">Glenn Watson</a></td>
<td><a href="https://github.com/MJB222398">MJB222398</a></td>
</tr>
<tr>
<td><a href="https://github.com/Methuselah96">Nathan Bierema</a></td>
<td><a href="https://github.com/Sveti86">Svetoslav Inkolov</a></td>
</tr>
</table>

and to the commenters who engaged in discussions and offered further insights:

<table>
<tr>
<td><a href="https://github.com/ScarletKuro">Artyom M.</a></td>
<td><a href="https://github.com/bradford-fisher">Bradford Fisher</a></td>
<td><a href="https://github.com/CharliePoole">CharliePoole</a></td>
<td><a href="https://github.com/cbersch">Christoph Bersch</a></td>
</tr>
<tr>
<td><a href="https://github.com/manfred-brands">Manfred Brands</a></td>
<td><a href="https://github.com/MJB222398">MJB222398</a></td>
<td><a href="https://github.com/Methuselah96">Nathan Bierema</a></td>
<td><a href="https://github.com/nesc58">nesc58</a></td>
</tr>
<tr>
<td><a href="https://github.com/Sveti86">Svetoslav Inkolov</a></td>
<td><a href="https://github.com/OsirisTerje">Terje Sandstrom</a></td>
<td><a href="https://github.com/Youssef1313">Youssef Victor</a></td>
</tr>
</table>

## NUnit3 Test Adapter for Visual Studio and Dotnet - Version 6.0.1 - December 20, 2025

This is a hotfix release for version 6.0.0 to handle issues related to loading assemblies.
Expand Down
7 changes: 5 additions & 2 deletions docs/articles/vs-test-adapter/Debugging.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,14 @@ The symbols are:
NUnit.DebugExecution
NUnit.DebugDiscovery
NUnit.Debug
NUnit.DebugEngine # (From version 6.1)
```

The last setting is equal to setting both of the two above.
The `NUnit.Debug` is equal to setting both of the two above.

From command line, you can set these by adding
The `NUnit.DebugEngine` enables debugging of the embedded NUnit.Engine.

From command line, you can set these by adding e.g.

```cmd
dotnet test -- NUnit.DebugExecution=true
Expand Down
5 changes: 2 additions & 3 deletions docs/articles/vs-test-adapter/Supported-Frameworks.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,8 @@ The table below shows the supported adapter versions for a given framework versi
|Net 7|4.3 - 5.X ||
|Net 8+|Works with 4.3.2 and upwards||

The adapter is shipped with three different versions of the test framework. The first is the full framework version,
which is used for .NET Framework based test projects. The second is the .NET version 6.0, which is used for .NET
6.0, and the third is .NET 8.0 which is used for .net 7.0, 8.0, 9.0, 10.0 and upwards.
The adapter is shipped with two different versions of the test framework. The first is the full framework version,
which is used for .NET Framework based test projects. The second is the .NET (Core) version.
The different versions of the adapter supports different versions of the test framework.
The table above shows the supported versions.

Expand Down
17 changes: 13 additions & 4 deletions docs/articles/vs-test-adapter/Tips-And-Tricks.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,13 @@ Certain NUnit Test Adapter settings are configurable using a .runsettings file.
| [DiscoveryMethod](#discoverymethod) | enum | How execution discovery is done, options are `Legacy` or `Current` | Current |
| [AssemblySelectLimit](#assemblyselectlimit) | int | Number of tests accepted before filters are turned off | 2000 |
| [NewOutputXmlFileForEachRun](#newoutputxmlfileforeachrun) | bool | Creates a new file for each test run | false |
| [IncludeStackTraceForSuites](#includestacktraceforsuites) | bool | Includes stack trace for failures in suites, like exceptions in OneTimeSetup and OneTimeTearDown | true |
| [IncludeStackTrace](#includestacktrace) | bool | Includes stack trace for all failures | true |
| [ExplicitMode](#explicitmode) | enum | Changes handling of explicit tests, options are `Strict`, `Relaxed` or `None` | Strict |
| [IncludeStackTraceForSuites](#includestacktraceforsuites) | bool | Includes stack trace for failures in suites, e.g.OneTimeSetup/OneTimeTearDown | true |
| [IncludeStackTrace](#includestacktrace) | bool | Includes stack trace for all failures | true |
| [ExplicitMode](#explicitmode) | enum | Changes handling of explicit tests, options are `Strict`, `Relaxed` or `None` | Strict |
| [SkipExecutionWhenNoTests](#skipexecutionwhennotests) | bool | Skip execution if no tests are found | false |
| [AllowParallelWithDebugger](#allowparallelwithdebugger) | bool | Allow parallel execution when debugger is attached | false |
| [ThrowOnEachFailureUnderDebugger](#throwoneachfailureunderdebugger) | bool | | false |
| [ThrowOnEachFailureUnderDebugger](#throwoneachfailureunderdebugger) | bool | Throw on each failure when debugger is attached | false |
| [UseDefaultAssemblyLoadContext](#usedefaultassemblyloadcontext) | bool | Force the engine to use Default Loading Context, otherwise engine decide | true |

### Visual Studio templates for runsettings

Expand Down Expand Up @@ -399,6 +400,14 @@ is attached. The default is `false`.

(From version 4.6, require NUnit from 4.2)

#### UseDefaultAssemblyLoadContext

Controls how the NUnit.Engine (from version 3.22.0) does assembly loading. Default is `true`, and cause the engine to
load the assemblies into the default assembly loading context. This is mandatory for MTP.
If set to `false`, the engine will load assemblies based on its own algorithm, also taking isolation into account.

(From version 6.1)

---

### Some further information on directories
Expand Down
Loading