PandaWood / ExceptionReporter.NET

ExceptionReporter is a .NET component that gathers detailed information on an Exception and the application/system running it. It allows the user to copy, save or send a custom-formatted report to the developer
MIT License
51 stars 32 forks source link

Sorting the list of assemblies is not consistent between the UI and the report. #29

Closed SlyFoxHayes closed 6 years ago

SlyFoxHayes commented 6 years ago

Here is a list of assemblies as shown in the UI. They appear to be sorted alphabetically, with upper case grouped before lower case:

image

Here is the same list as presented in the report. In addition, something happened toward the bottom that newlines are not present between assemblies.

[Assembly Info]

mscorlib, Version=4.0.0.0
System, Version=4.0.0.0
WindowsBase, Version=4.0.0.0
System.Configuration, Version=4.0.0.0
PresentationFramework, Version=4.0.0.0
System.Xaml, Version=4.0.0.0
PropertyGridEx, Version=1.0.0.0
PresentationCore, Version=4.0.0.0
WpfExtensions, Version=4.5.6787.43092
System.Deployment, Version=4.0.0.0
Xceed.Wpf.Toolkit, Version=3.4.0.0
System.Xml.Linq, Version=4.0.0.0
System.Drawing, Version=4.0.0.0
System.Xml, Version=4.0.0.0
System.Data, Version=4.0.0.0
ExceptionReporter.NET, Version=2.2.0.0
System.Printing, Version=4.0.0.0
SystemCoreExtensions, Version=4.5.6789.1473 System.Management, Version=4.0.0.0 SqlServerExtensions, Version=4.5.6778.30532 System.Data.Linq, Version=4.0.0.0 System.Windows.Forms, Version=4.0.0.0 System.Core, Version=4.0.0.0 ReachFramework, Version=4.0.0.0
SlyFoxHayes commented 6 years ago

I think the assemblies should be listed in alphabetical order, case-insensitive. So mscorlib should appear 2nd in this example.

PandaWood commented 6 years ago

I'd say the UI control is sorting the list it's given and elsewhere the list is simply retrieved in whatever order the system returns them in.

PandaWood commented 6 years ago

Actually, I can see now the UI assembly list is explicitly sorted and the report one is not assemblies.Sort((x, y) => string.CompareOrdinal(x.Name, y.Name));

PandaWood commented 6 years ago

I believe this one is fixed in the latest commit too - spot checked just with the demo