# GregFinzer/Compare-Net-Objects

What you have been waiting for :+1:  Perform a deep compare of any two .NET objects using reflection. Shows the differences between the two objects.

Repository: https://github.com/GregFinzer/Compare-Net-Objects
Canonical: https://ross.abutalabs.com/products/compare-net-objects
Homepage: http://www.kellermansoftware.com
Language: C#
License: MS-PL
License Family: other
Last push: 2025-07-17T15:00:56+00:00

## Health v2 (maintenance only)
Score: 37/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 32, release rhythm 8, longevity 100
- inputs: {"age_days": 3875, "days_push": 412, "days_rel": 412, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1143, forks 190 (observed 2026-08-28T04:03:44.961827+00:00)

## What it is
A .NET library that performs deep comparison of any two objects using reflection and reports the differences between them. It supports extensive configuration options, multiple report formats, and integrates with test frameworks via assertion extensions.

## Use cases
- deep compare two .NET objects in unit tests
- show differences between two object instances
- verify API response objects match expected values
- compare object graphs with circular references
- generate diff reports for object changes
- assert two DTOs are equal in NUnit tests

## When to choose
- you need deep equality checks with detailed difference output in .NET
- you want configurable comparison ignoring specific members or collection order
- you need HTML, CSV, or WinMerge-style diff reports for objects

## When to avoid
- you only need simple reference or built-in Equals checks
- you are not working in the .NET ecosystem
- you need to diff text or files rather than in-memory objects

## Facets
- artifact type: library
- maturity: active
- function: testing, developer-tools, serialization
- domain: developer-tools, testing
- platform: dotnet, cross-platform, windows
- tags: deep-compare, reflection, object-diff, unit-testing, nuget, dotnet

## Member repositories
- GregFinzer/Compare-Net-Objects (main) score 37

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:44.961827+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:34:54.101025+00:00, confidence not recorded.
  - readme: https://github.com/GregFinzer/Compare-Net-Objects (fetched 2026-08-28T04:03:44.961827+00:00, sha e0842c16b3e1)
- Data as of 2026-08-30T08:39:29.467469+00:00.
