assembly-differ
0.9.1
See the version list below for details.
dotnet tool install --global assembly-differ --version 0.9.1
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local assembly-differ --version 0.9.1
#tool dotnet:?package=assembly-differ&version=0.9.1
nuke :add-package assembly-differ --version 0.9.1
<p> <img align="right" src="nuget-icon.png">
assembly-differ
</p>
Compare and Diff assemblies from different sources. Useful for determining what changes are introduced across versions, and if any are breaking.
Outputs differences in XML, Markdown or AsciiDoc.
Differ builds on the amazing work done by JustAssembly, licensed under Apache 2.0
Installation
Distributed as a .NET tool so install using the following
dotnet tool install assembly-differ
Run
dotnet assembly-differ
You can omit dotnet
if you install this as a global tool
to see the supported Assembly Providers and outputs:
assembly-differ <Old Assembly Provider> <New Assembly Provider> [Options]
Supported Assembly Providers:
assembly|<assembly path>
directory|<directory path>
nuget|<package id>|<version>|[framework version]
previous-nuget|<package id>|<version>|[framework version]
github|<owner>/<repo>|<commit>|<build command>|<relative output path>
Options:
-t, --target=VALUE the assembly targets. Defaults to *all* assemblies
located by the provider
-f, --format=VALUE the format of the diff output. Supported formats
are xml, markdown, asciidoc. Defaults to xml
-o, --output=VALUE the output directory. Defaults to current directory
-h, -?, --help show this message and exit
Examples:
Diff between two local assemblies:
dotnet assembly-differ "assembly|C:\6.1.0\Nest.dll" "assembly|C:\6.2.0\Nest.dll"
Diff between all assemblies in directories, matched by name:
dotnet assembly-differ "directory|C:\6.1.0" "directory|C:\6.2.0"
Diff NuGet packages:
dotnet assembly-differ "nuget|NEST|6.1.0|net46" "nuget|NEST|6.2.0|net46"
Diff Previous NuGet packages:
Imagine you want to release 6.2.0
and want to diff with whatever is the latest nuget package before 6.2.0
previous-nuget
will do the heavy lifting of finding that previous release
dotnet assembly-differ "previous-nuget|NEST|6.2.0|net46" "directory|C:\6.2.0"
Diff GitHub commits:
dotnet assembly-differ "github|elastic/elasticsearch-net|6.1.0|cmd /C call build.bat skiptests skipdocs|build\output\Nest\net46" "github|elastic/elasticsearch-net|6.2.0|cmd /C call build.bat skiptests skipdocs|build\output\Nest\net46"
Any of the above can be mixed. For example, to compare GitHub HEAD against last NuGet package, and output in Markdown
dotnet assembly-differ --format markdown "nuget|NEST|6.2.0|net46" "github|elastic/elasticsearch-net|HEAD|cmd /C call build.bat skiptests skipdocs|build\output\Nest\net46"
FUTURE PLANS
- Instruct the tool to emit errors if breaking changes exists
- Pass the tool with the version you intend to release and have the tool report the version it thinks it should be based on the differences between the assemblies
- Wrap all of this in Github Actions
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp3.0 is compatible. netcoreapp3.1 is compatible. |
This package has no dependencies.
Version | Downloads | Last updated |
---|---|---|
0.15.0 | 7,368 | 1/5/2024 |
0.14.0 | 26,349 | 2/8/2022 |
0.13.0 | 58,116 | 11/16/2020 |
0.12.5 | 970 | 5/28/2020 |
0.12.4 | 502 | 5/28/2020 |
0.12.3 | 504 | 5/27/2020 |
0.12.2 | 508 | 5/27/2020 |
0.12.1 | 545 | 5/27/2020 |
0.12.0 | 3,873 | 5/20/2020 |
0.11.2 | 575 | 5/15/2020 |
0.11.1 | 594 | 5/15/2020 |
0.11.0 | 487 | 5/15/2020 |
0.10.1 | 519 | 5/14/2020 |
0.10.0 | 502 | 5/12/2020 |
0.9.2 | 523 | 5/12/2020 |
0.9.1 | 541 | 5/1/2020 |
0.9.0 | 682 | 3/6/2020 |