Skip to content

Commit b58dd69

Browse files
Merge branch 'master' into feature/ReferenceAssemblyOverly
2 parents e72b1f9 + 123da88 commit b58dd69

File tree

126 files changed

+3057
-2216
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

126 files changed

+3057
-2216
lines changed

.github/workflows/build-frontends.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ jobs:
1414
- uses: actions/checkout@v4
1515
with:
1616
fetch-depth: 0
17-
- name: Setup .NET
18-
uses: actions/setup-dotnet@v3
17+
- uses: actions/setup-dotnet@v4
1918
with:
20-
dotnet-version: 6.0.x
19+
dotnet-version: '8.0.x'
20+
dotnet-quality: 'ga'
2121

2222
- name: Install dependencies
2323
run: dotnet restore ILSpy.XPlat.slnf

.github/workflows/build-ilspy.yml

+11-6
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ jobs:
2626
submodules: true
2727
fetch-depth: 0
2828

29+
- uses: actions/setup-dotnet@v4
30+
with:
31+
dotnet-version: '8.0.x'
32+
dotnet-quality: 'ga'
33+
2934
- name: Add msbuild to PATH
3035
uses: microsoft/[email protected]
3136

@@ -48,9 +53,9 @@ jobs:
4853
- name: Execute unit tests
4954
run: dotnet test --logger "junit;LogFileName=${{ matrix.configuration }}.xml" --results-directory test-results $env:Tests1 $env:Tests2 $env:Tests3
5055
env:
51-
Tests1: ICSharpCode.Decompiler.Tests\bin\${{ matrix.configuration }}\net6.0-windows\win-x64\ICSharpCode.Decompiler.Tests.dll
52-
Tests2: ILSpy.Tests\bin\${{ matrix.configuration }}\net6.0-windows\ILSpy.Tests.dll
53-
Tests3: ILSpy.BamlDecompiler.Tests\bin\${{ matrix.configuration }}\net6.0-windows\win-x64\ILSpy.BamlDecompiler.Tests.dll
56+
Tests1: ICSharpCode.Decompiler.Tests\bin\${{ matrix.configuration }}\net8.0-windows\win-x64\ICSharpCode.Decompiler.Tests.dll
57+
Tests2: ILSpy.Tests\bin\${{ matrix.configuration }}\net8.0-windows\ILSpy.Tests.dll
58+
Tests3: ILSpy.BamlDecompiler.Tests\bin\${{ matrix.configuration }}\net8.0-windows\win-x64\ILSpy.BamlDecompiler.Tests.dll
5459

5560
- name: Upload Test Logs
5661
uses: actions/upload-artifact@v3
@@ -76,19 +81,19 @@ jobs:
7681
git diff --exit-code
7782
7883
- name: Zip ILSpy (framework-dependent)
79-
run: 7z a -tzip $env:StagingDirectory\ILSpy_binaries.zip .\ILSpy\bin\${{ matrix.configuration }}\net6.0-windows\*.dll .\ILSpy\bin\${{ matrix.configuration }}\net6.0-windows\*.exe .\ILSpy\bin\${{ matrix.configuration }}\net6.0-windows\*.config .\ILSpy\bin\${{ matrix.configuration }}\net6.0-windows\*.json .\ILSpy\bin\${{ matrix.configuration }}\net6.0-windows\*\ILSpy.resources.dll .\ILSpy\bin\${{ matrix.configuration }}\net6.0-windows\*\ILSpy.ReadyToRun.Plugin.resources.dll
84+
run: 7z a -tzip $env:StagingDirectory\ILSpy_binaries.zip .\ILSpy\bin\${{ matrix.configuration }}\net8.0-windows\*.dll .\ILSpy\bin\${{ matrix.configuration }}\net8.0-windows\*.exe .\ILSpy\bin\${{ matrix.configuration }}\net8.0-windows\*.config .\ILSpy\bin\${{ matrix.configuration }}\net8.0-windows\*.json .\ILSpy\bin\${{ matrix.configuration }}\net8.0-windows\*\ILSpy.resources.dll .\ILSpy\bin\${{ matrix.configuration }}\net8.0-windows\*\ILSpy.ReadyToRun.Plugin.resources.dll
8085

8186
- name: Publish x64/arm64 framework-dependent/self-contained
8287
shell: pwsh
8388
run: .\publish.ps1
8489

8590
- name: Zip ILSpy Release (x64 self-contained)
8691
if: matrix.configuration == 'release'
87-
run: 7z a -tzip $env:StagingDirectory\ILSpy_selfcontained_x64.zip .\ILSpy\bin\Release\net6.0-windows\win-x64\publish\selfcontained\*
92+
run: 7z a -tzip $env:StagingDirectory\ILSpy_selfcontained_x64.zip .\ILSpy\bin\Release\net8.0-windows\win-x64\publish\selfcontained\*
8893

8994
- name: Zip ILSpy Release (arm64 framework-dependent)
9095
if: matrix.configuration == 'release'
91-
run: 7z a -tzip $env:StagingDirectory\ILSpy_binaries_arm64.zip .\ILSpy\bin\Release\net6.0-windows\win-arm64\publish\fwdependent\*
96+
run: 7z a -tzip $env:StagingDirectory\ILSpy_binaries_arm64.zip .\ILSpy\bin\Release\net8.0-windows\win-arm64\publish\fwdependent\*
9297

9398
- name: Build Installer (x64 and arm64, framework-dependent)
9499
if: matrix.configuration == 'release'

.github/workflows/codeql-analysis.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,17 @@ jobs:
2323
fetch-depth: 0
2424

2525
- name: Initialize CodeQL
26-
uses: github/codeql-action/init@v2
26+
uses: github/codeql-action/init@v3
2727
with:
2828
languages: ${{ matrix.language }}
2929

30-
- name: Setup .NET
31-
uses: actions/setup-dotnet@v3
30+
- uses: actions/setup-dotnet@v4
3231
with:
33-
dotnet-version: 6.0.x
32+
dotnet-version: '8.0.x'
33+
dotnet-quality: 'ga'
3434

3535
- name: Build
3636
run: dotnet build ILSpy.XPlat.slnf --configuration Release
3737

3838
- name: Perform CodeQL Analysis
39-
uses: github/codeql-action/analyze@v2
39+
uses: github/codeql-action/analyze@v3

.github/workflows/lock.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
lock:
99
runs-on: ubuntu-latest
1010
steps:
11-
- uses: dessant/lock-threads@v4.0.1
11+
- uses: dessant/lock-threads@v5.0.1
1212
with:
1313
github-token: ${{ github.token }}
1414
issue-inactive-days: '90'

Directory.Packages.props

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<Project>
2+
<PropertyGroup>
3+
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
4+
<CentralPackageTransitivePinningEnabled>false</CentralPackageTransitivePinningEnabled>
5+
</PropertyGroup>
6+
<ItemGroup>
7+
<PackageVersion Include="AvalonEdit" Version="6.3.0.90" />
8+
<PackageVersion Include="CliWrap" Version="3.4.4" />
9+
<PackageVersion Include="DataGridExtensions" Version="2.5.15" />
10+
<PackageVersion Include="DiffLib" Version="2017.7.26.1241" />
11+
<PackageVersion Include="Dirkster.AvalonDock.Themes.VS2013" Version="4.72.1" />
12+
<PackageVersion Include="FluentAssertions" Version="6.12.0" />
13+
<PackageVersion Include="ILCompiler.Reflection.ReadyToRun.Experimental" Version="8.0.0-rc.2.23471.30" />
14+
<PackageVersion Include="Iced" Version="1.18.0" />
15+
<PackageVersion Include="JunitXml.TestLogger" Version="3.0.134" />
16+
<PackageVersion Include="K4os.Compression.LZ4" Version="1.3.6" />
17+
<PackageVersion Include="McMaster.Extensions.Hosting.CommandLine" Version="4.1.0" />
18+
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.8.0" />
19+
<PackageVersion Include="Microsoft.CodeAnalysis.VisualBasic" Version="4.8.0" />
20+
<PackageVersion Include="Microsoft.DiaSymReader.Converter.Xml" Version="1.1.0-beta2-22171-02" />
21+
<PackageVersion Include="Microsoft.DiaSymReader" Version="1.4.0" />
22+
<PackageVersion Include="Microsoft.DiaSymReader.Native" Version="17.0.0-beta1.21524.1" />
23+
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="8.0.0" />
24+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
25+
<PackageVersion Include="Microsoft.NETCore.ILAsm" Version="8.0.0" />
26+
<PackageVersion Include="Microsoft.NETCore.ILDAsm" Version="8.0.0" />
27+
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
28+
<PackageVersion Include="Microsoft.VisualStudio.Composition" Version="17.7.26" />
29+
<PackageVersion Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.77" />
30+
<PackageVersion Include="Mono.Cecil" Version="0.11.5" />
31+
<PackageVersion Include="NSubstitute" Version="5.0.0" />
32+
<PackageVersion Include="NSubstitute.Analyzers.CSharp" Version="1.0.16" />
33+
<PackageVersion Include="NUnit" Version="4.0.1" />
34+
<PackageVersion Include="NUnit3TestAdapter" Version="4.5.0" />
35+
<PackageVersion Include="NuGet.Protocol" Version="6.8.0" />
36+
<PackageVersion Include="PowerShellStandard.Library" Version="5.1.1" />
37+
<PackageVersion Include="System.Collections.Immutable" Version="8.0.0" />
38+
<PackageVersion Include="System.Composition" Version="8.0.0" />
39+
<PackageVersion Include="System.Memory" Version="4.5.5" />
40+
<PackageVersion Include="System.Reflection.Metadata" Version="8.0.0" />
41+
<PackageVersion Include="System.Resources.Extensions" Version="6.0.0" />
42+
<PackageVersion Include="System.Runtime.CompilerServices.Unsafe" Version="6.0.0" />
43+
<PackageVersion Include="TomsToolbox.Wpf.Styles" Version="2.10.0" />
44+
<PackageVersion Include="coverlet.collector" Version="6.0.0" />
45+
</ItemGroup>
46+
</Project>

ICSharpCode.Decompiler.PowerShell/ICSharpCode.Decompiler.PowerShell.csproj

+2-4
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,9 @@
88
<LangVersion>8.0</LangVersion>
99
</PropertyGroup>
1010

11-
<Import Project="..\packages.props" />
12-
1311
<ItemGroup>
14-
<PackageReference Include="PowerShellStandard.Library" Version="5.1.0" />
15-
<PackageReference Include="Mono.Cecil" Version="$(MonoCecilVersion)" />
12+
<PackageReference Include="PowerShellStandard.Library" />
13+
<PackageReference Include="Mono.Cecil" />
1614
</ItemGroup>
1715

1816
<ItemGroup>

ICSharpCode.Decompiler.TestRunner/ICSharpCode.Decompiler.TestRunner.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFramework>net7.0</TargetFramework>
5+
<TargetFramework>net8.0</TargetFramework>
66
<Nullable>enable</Nullable>
77
</PropertyGroup>
88

ICSharpCode.Decompiler.Tests/CorrectnessTestRunner.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public void AllFilesHaveTests()
4646
if (file.Extension == ".txt" || file.Extension == ".exe" || file.Extension == ".config")
4747
continue;
4848
var testName = Path.GetFileNameWithoutExtension(file.Name);
49-
Assert.Contains(testName, testNames);
49+
Assert.That(testNames, Has.Member(testName));
5050
}
5151
}
5252

@@ -486,7 +486,7 @@ async Task RunIL(string testFileName, CompilerOptions options = CompilerOptions.
486486
bool optionsForce32Bit = options.HasFlag(CompilerOptions.Force32Bit);
487487
bool asmOptionsForce32Bit = asmOptions.HasFlag(AssemblerOptions.Force32Bit);
488488

489-
Assert.AreEqual(optionsForce32Bit, asmOptionsForce32Bit, "Inconsistent architecture.");
489+
Assert.That(asmOptionsForce32Bit, Is.EqualTo(optionsForce32Bit), "Inconsistent architecture.");
490490

491491
try
492492
{

ICSharpCode.Decompiler.Tests/DataFlowTest.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ public RDTest(ILFunction f, ILVariable v) : base(f, _ => true, CancellationToken
4545

4646
protected internal override void VisitTryFinally(TryFinally inst)
4747
{
48-
Assert.IsTrue(IsPotentiallyUninitialized(state, v));
48+
Assert.That(IsPotentiallyUninitialized(state, v));
4949
base.VisitTryFinally(inst);
50-
Assert.IsTrue(state.IsReachable);
51-
Assert.AreEqual(1, GetStores(state, v).Count());
52-
Assert.IsFalse(IsPotentiallyUninitialized(state, v));
50+
Assert.That(state.IsReachable);
51+
Assert.That(GetStores(state, v).Count(), Is.EqualTo(1));
52+
Assert.That(!IsPotentiallyUninitialized(state, v));
5353
}
5454
}
5555

ICSharpCode.Decompiler.Tests/DisassemblerPrettyTestRunner.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public void AllFilesHaveTests()
4747
if (file.Extension.Equals(".il", StringComparison.OrdinalIgnoreCase))
4848
{
4949
var testName = file.Name.Split('.')[0];
50-
Assert.Contains(testName, testNames);
50+
Assert.That(testNames, Has.Member(testName));
5151
}
5252
}
5353
}

ICSharpCode.Decompiler.Tests/Helpers/Tester.VB.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ public static async Task<CompilerResults> CompileVB(string sourceFileName, Compi
133133
{
134134
Console.WriteLine("errors:" + Environment.NewLine + result.StandardError);
135135
}
136-
Assert.AreEqual(0, result.ExitCode, "vbc failed");
136+
Assert.That(result.ExitCode, Is.EqualTo(0), "vbc failed");
137137

138138
return results;
139139
}

ICSharpCode.Decompiler.Tests/Helpers/Tester.cs

+23-14
Original file line numberDiff line numberDiff line change
@@ -105,12 +105,19 @@ static Tester()
105105
TesterPath = Path.GetDirectoryName(typeof(Tester).Assembly.Location);
106106
TestCasePath = Path.Combine(TesterPath, "../../../../TestCases");
107107
#if DEBUG
108-
testRunnerBasePath = Path.Combine(TesterPath, "../../../../../ICSharpCode.Decompiler.TestRunner/bin/Debug/net7.0");
108+
testRunnerBasePath = Path.Combine(TesterPath, "../../../../../ICSharpCode.Decompiler.TestRunner/bin/Debug/net8.0");
109109
#else
110-
testRunnerBasePath = Path.Combine(TesterPath, "../../../../../ICSharpCode.Decompiler.TestRunner/bin/Release/net7.0");
110+
testRunnerBasePath = Path.Combine(TesterPath, "../../../../../ICSharpCode.Decompiler.TestRunner/bin/Release/net8.0");
111111
#endif
112-
packagesPropsFile = Path.Combine(TesterPath, "../../../../../packages.props");
113-
roslynLatestVersion = XDocument.Load(packagesPropsFile).XPathSelectElement("//RoslynVersion").Value;
112+
// To parse: <Project><ItemGroup><PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.8.0-3.final" />
113+
packagesPropsFile = Path.Combine(TesterPath, "../../../../../Directory.Packages.props");
114+
roslynLatestVersion = ((IEnumerable<object>)(XDocument
115+
.Load(packagesPropsFile)
116+
.XPathEvaluate("//Project//ItemGroup//PackageVersion[@Include='Microsoft.CodeAnalysis.CSharp']/@Version")))
117+
.OfType<XAttribute>()
118+
.Single()
119+
.Value;
120+
114121
roslynToolset = new RoslynToolset();
115122
vswhereToolset = new VsWhereToolset();
116123
}
@@ -191,7 +198,7 @@ public static async Task<string> AssembleIL(string sourceFileName, AssemblerOpti
191198
{
192199
Console.WriteLine("errors:" + Environment.NewLine + result.StandardError);
193200
}
194-
Assert.AreEqual(0, result.ExitCode, "ilasm failed");
201+
Assert.That(result.ExitCode, Is.EqualTo(0), "ilasm failed");
195202

196203
return outputFile;
197204
}
@@ -244,7 +251,7 @@ public static async Task<string> Disassemble(string sourceFileName, string outpu
244251
{
245252
Console.WriteLine("errors:" + Environment.NewLine + result.StandardError);
246253
}
247-
Assert.AreEqual(0, result.ExitCode, "ildasm failed");
254+
Assert.That(result.ExitCode, Is.EqualTo(0), "ildasm failed");
248255

249256
// Unlike the .imagebase directive (which is a fixed value when compiling with /deterministic),
250257
// the image base comment still varies... ildasm putting a random number here?
@@ -270,8 +277,8 @@ private static string ReplacePrivImplDetails(string il)
270277
}
271278

272279
static readonly string coreRefAsmPath = new DotNetCorePathFinder(TargetFrameworkIdentifier.NET,
273-
new Version(7, 0), "Microsoft.NETCore.App")
274-
.GetReferenceAssemblyPath(".NETCoreApp,Version=v7.0");
280+
new Version(8, 0), "Microsoft.NETCore.App")
281+
.GetReferenceAssemblyPath(".NETCoreApp,Version=v8.0");
275282

276283
public static readonly string RefAsmPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86),
277284
@"Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2");
@@ -309,7 +316,7 @@ private static string ReplacePrivImplDetails(string il)
309316

310317
const string targetFrameworkAttributeSnippet = @"
311318
312-
[assembly: System.Runtime.Versioning.TargetFramework("".NETCoreApp,Version=v7.0"", FrameworkDisplayName = """")]
319+
[assembly: System.Runtime.Versioning.TargetFramework("".NETCoreApp,Version=v8.0"", FrameworkDisplayName = """")]
313320
314321
";
315322

@@ -345,6 +352,7 @@ public static List<string> GetPreprocessorSymbols(CompilerOptions flags)
345352
preprocessorSymbols.Add("NETCORE");
346353
preprocessorSymbols.Add("NET60");
347354
preprocessorSymbols.Add("NET70");
355+
preprocessorSymbols.Add("NET80");
348356
}
349357
preprocessorSymbols.Add("ROSLYN");
350358
preprocessorSymbols.Add("CS60");
@@ -374,6 +382,7 @@ public static List<string> GetPreprocessorSymbols(CompilerOptions flags)
374382
preprocessorSymbols.Add("ROSLYN4");
375383
preprocessorSymbols.Add("CS100");
376384
preprocessorSymbols.Add("CS110");
385+
preprocessorSymbols.Add("CS120");
377386
}
378387
}
379388
else if ((flags & CompilerOptions.UseMcsMask) != 0)
@@ -511,7 +520,7 @@ public static async Task<CompilerResults> CompileCSharp(string sourceFileName, C
511520
Console.WriteLine("errors:" + Environment.NewLine + result.StandardError);
512521
}
513522

514-
Assert.AreEqual(0, result.ExitCode, "csc failed");
523+
Assert.That(result.ExitCode, Is.EqualTo(0), "csc failed");
515524

516525
return results;
517526
}
@@ -573,7 +582,7 @@ public static async Task<CompilerResults> CompileCSharp(string sourceFileName, C
573582
{
574583
Console.WriteLine("errors:" + Environment.NewLine + result.StandardError);
575584
}
576-
Assert.AreEqual(0, result.ExitCode, "mcs failed");
585+
Assert.That(result.ExitCode, Is.EqualTo(0), "mcs failed");
577586

578587
return results;
579588
}
@@ -755,8 +764,8 @@ public static async Task RunAndCompareOutput(string testFileName, string outputF
755764
(result2, output2, error2) = await Run(decompiledOutputFile).ConfigureAwait(false);
756765
}
757766

758-
Assert.AreEqual(0, result1, "Exit code != 0; did the test case crash?" + Environment.NewLine + error1);
759-
Assert.AreEqual(0, result2, "Exit code != 0; did the decompiled code crash?" + Environment.NewLine + error2);
767+
Assert.That(result1, Is.EqualTo(0), "Exit code != 0; did the test case crash?" + Environment.NewLine + error1);
768+
Assert.That(result2, Is.EqualTo(0), "Exit code != 0; did the decompiled code crash?" + Environment.NewLine + error2);
760769

761770
if (output1 != output2 || error1 != error2)
762771
{
@@ -842,7 +851,7 @@ public static async Task SignAssembly(string assemblyPath, string keyFilePath)
842851
.WithValidation(CommandResultValidation.None);
843852

844853
var result = await command.ExecuteBufferedAsync().ConfigureAwait(false);
845-
Assert.AreEqual(0, result.ExitCode, "sn failed");
854+
Assert.That(result.ExitCode, Is.EqualTo(0), "sn failed");
846855

847856
if (!string.IsNullOrWhiteSpace(result.StandardOutput))
848857
{

ICSharpCode.Decompiler.Tests/ICSharpCode.Decompiler.Tests.csproj

+22-23
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<Project Sdk="Microsoft.NET.Sdk">
33

44
<PropertyGroup>
5-
<TargetFramework>net6.0-windows</TargetFramework>
5+
<TargetFramework>net8.0-windows</TargetFramework>
66
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
77
<IsPackable>false</IsPackable>
88
<StartupObject>AutoGeneratedProgram</StartupObject>
@@ -17,7 +17,6 @@
1717
<EnableDefaultItems>false</EnableDefaultItems>
1818

1919
<AutoGenerateBindingRedirects>True</AutoGenerateBindingRedirects>
20-
<EnableUnsafeBinaryFormatterSerialization>True</EnableUnsafeBinaryFormatterSerialization>
2120

2221
<SignAssembly>True</SignAssembly>
2322
<AssemblyOriginatorKeyFile>..\ICSharpCode.Decompiler\ICSharpCode.Decompiler.snk</AssemblyOriginatorKeyFile>
@@ -41,28 +40,28 @@
4140
<DefineConstants>TRACE;ROSLYN;NET60;CS60;CS70;CS71;CS72;CS73;CS80;CS90;CS100</DefineConstants>
4241
</PropertyGroup>
4342

44-
<Import Project="..\packages.props" />
45-
4643
<ItemGroup>
47-
<PackageReference Include="DiffLib" Version="$(DiffLibVersion)" />
48-
<PackageReference Include="CliWrap" Version="3.4.4" />
49-
<PackageReference Include="NuGet.Protocol" Version="6.2.4" />
50-
<PackageReference Include="System.Collections.Immutable" Version="$(SystemCollectionsImmutableVersion)" />
51-
<PackageReference Include="System.Reflection.Metadata" Version="$(SystemReflectionMetadataVersion)" />
52-
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="$(RoslynVersion)" />
53-
<PackageReference Include="Microsoft.CodeAnalysis.VisualBasic" Version="$(RoslynVersion)" />
54-
<PackageReference Include="Microsoft.DiaSymReader.Converter.Xml" Version="$(DSRConverterXmlVersion)" />
55-
<PackageReference Include="NUnit3TestAdapter" Version="$(NUnitAdapterVersion)" />
56-
<PackageReference Include="coverlet.collector" Version="$(CoverletCollectorVersion)" />
57-
<PackageReference Include="NUnit" Version="$(NUnitVersion)" />
58-
<!-- used for xml test result files -->
59-
<PackageReference Include="JunitXml.TestLogger" Version="$(JUnitXmlTestLoggerVersion)" />
60-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(MicrosoftNETTestSdkVersion)" />
61-
<PackageReference Include="System.Memory" Version="4.5.5" />
62-
<PackageReference Include="Mono.Cecil" Version="$(MonoCecilVersion)" />
63-
<PackageReference Include="Microsoft.NETCore.ILAsm" Version="$(ILAsmVersion)" />
64-
<PackageReference Include="Microsoft.NETCore.ILDAsm" Version="$(ILDAsmVersion)" />
65-
<PackageReference Include="System.Resources.Extensions" Version="6.0.0" />
44+
<PackageReference Include="DiffLib" />
45+
<PackageReference Include="CliWrap" />
46+
<PackageReference Include="NuGet.Protocol" />
47+
<PackageReference Include="System.Collections.Immutable" />
48+
<PackageReference Include="System.Reflection.Metadata" />
49+
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" />
50+
<PackageReference Include="Microsoft.CodeAnalysis.VisualBasic" />
51+
<PackageReference Include="Microsoft.DiaSymReader.Converter.Xml" />
52+
<PackageReference Include="Microsoft.DiaSymReader" />
53+
<PackageReference Include="Microsoft.DiaSymReader.Native" />
54+
<PackageReference Include="NUnit3TestAdapter" />
55+
<PackageReference Include="coverlet.collector" />
56+
<PackageReference Include="NUnit" />
57+
<PackageReference Include="FluentAssertions" />
58+
<PackageReference Include="JunitXml.TestLogger" />
59+
<PackageReference Include="Microsoft.NET.Test.Sdk" />
60+
<PackageReference Include="System.Memory" />
61+
<PackageReference Include="Mono.Cecil" />
62+
<PackageReference Include="Microsoft.NETCore.ILAsm" />
63+
<PackageReference Include="Microsoft.NETCore.ILDAsm" />
64+
<PackageReference Include="System.Resources.Extensions" />
6665
</ItemGroup>
6766

6867
<ItemGroup>

0 commit comments

Comments
 (0)