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

Notification

Icon
Error

Copy on Write and Disabling Analyzers?
Der-Albert.com
#1 Posted : Sunday, February 8, 2026 3:14:56 PM(UTC)
Rank: Advanced Member

Groups: Registered
Joined: 5/17/2011(UTC)
Posts: 243

Thanks: 15 times
Was thanked: 58 time(s) in 54 post(s)
Hi,

These days we have ReFS under Windows, and it supports Copy on Write since Windows 11 24H2

This is fine for read heavy workloads where some must be moved to a different folder. Microsoft itself enabled it in the MSBuild on default.

Is this used by NCrunch? If not, I think it would be nice if it would. From my understanding it should be automatically be done by the system (in newer Windows Version), but i'm not sure.

I found this code: https://github.com/microsoft/CopyOnWrite/


I would assume that NCrunch is already building the projects with the added build property RunAnalyzers=false, so that the analyzers don't run
when building for NCrunch. Is this a thing?
Remco
#2 Posted : Monday, February 9, 2026 12:27:01 AM(UTC)
Rank: NCrunch Developer

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

Thanks: 1021 times
Was thanked: 1369 time(s) in 1270 post(s)
Hi, thanks for posting.

Right now, there is nothing in NCrunch that integrates with CoW in any way. That doesn't mean it isn't used though, as I expect the platform probably makes use of it quite a bit internally.

When NCrunch builds workspaces, it does so using File.Copy. In theory, this provides an opportunity for the platform to use CoW to help optimise. In practice, this is subject to the rules of the platform and results may vary. I would expect that many of the activities of MSBuild are engineered the same way (unless they changed since I last checked), so yes, there is room for the platform to improve NCrunch performance significantly, but I can't tell you how much, or make any promises on it.

The running of analyzers is controlled by the NCrunch config setting 'Allow code analysis'. As you've assumed, internally, this uses the RunAnalyzers build property. The config setting is set to False by default, so if you change nothing, you won't get analyzers.
1 user thanked Remco for this useful post.
Der-Albert.com on 2/9/2026(UTC)
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.021 seconds.
Trial NCrunch
Take NCrunch for a spin
Do your fingers a favour and supercharge your testing workflow
Free Download