Skip to content

Some bugs in the new cross-platform ilspy #3760

Description

@sonyps5201314

1. Crash in older versions of ILSpy due to settings file incompatibility

After using the new cross-platform version of ILSpy (e.g., analyzing files or batch exporting PDBs) and closing it, launching an older version of ILSpy causes the older version to crash.

(Note: Based on the stack trace, it seems the new cross-platform version writes an empty or incompatible string for window bounds/rectangles into the shared ILSpy.xml config file, which causes System.Windows.Rect.Parse in the older WPF-based version to throw an exception).

---------------------------
Sorry, we crashed
---------------------------
System.InvalidOperationException: Premature string termination encountered while parsing "".

   at MS.Internal.TokenizerHelper.NextTokenRequired()
   at System.Windows.Rect.Parse(String source)
   at System.Windows.RectConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value)
   at ICSharpCode.ILSpy.SessionSettings.FromString[T](String s, T defaultValue) in M:\Open_Code\ILSpy\ILSpy\SessionSettings.cs:line 170
   at ICSharpCode.ILSpy.SessionSettings.LoadFromXml(XElement section) in M:\Open_Code\ILSpy\ILSpy\SessionSettings.cs:line 56
   at ICSharpCode.ILSpyX.Settings.SettingsServiceBase.<GetSettings>b__6_0[T](Type _) in M:\Open_Code\ILSpy\ICSharpCode.ILSpyX\Settings\SettingsServiceBase.cs:line 53
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at ICSharpCode.ILSpyX.Settings.SettingsServiceBase.GetSettings[T]() in M:\Open_Code\ILSpy\ICSharpCode.ILSpyX\Settings\SettingsServiceBase.cs:line 48
   at ICSharpCode.ILSpy.Util.SettingsService.get_SessionSettings() in M:\Open_Code\ILSpy\ILSpy\Util\SettingsService.cs:line 48
   at ICSharpCode.ILSpy.App..ctor() in M:\Open_Code\ILSpy\ILSpy\App.xaml.cs:line 111
   at ICSharpCode.ILSpy.App.Main()
---------------------------
OK   
---------------------------

2. Drag and drop is not supported

The new cross-platform version of ILSpy doesn't seem to support dragging and dropping DLLs directly into the assembly list view. This feature was fully supported and worked well in previous versions.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions