diff --git a/ILSpy/Commands/GeneratePdbContextMenuEntry.cs b/ILSpy/Commands/GeneratePdbContextMenuEntry.cs index 36330fefa..a9b2631f6 100644 --- a/ILSpy/Commands/GeneratePdbContextMenuEntry.cs +++ b/ILSpy/Commands/GeneratePdbContextMenuEntry.cs @@ -79,7 +79,7 @@ namespace ICSharpCode.ILSpy } } stopwatch.Stop(); - output.WriteLine(string.Format(Resources.GenerationCompleteInSeconds, stopwatch.Elapsed.TotalSeconds.ToString("F1"))); + output.WriteLine(Resources.GenerationCompleteInSeconds, stopwatch.Elapsed.TotalSeconds.ToString("F1")); output.WriteLine(); output.AddButton(null, Resources.OpenExplorer, delegate { Process.Start("explorer", "/select,\"" + fileName + "\""); }); output.WriteLine(); diff --git a/ILSpy/Properties/Resources.Designer.cs b/ILSpy/Properties/Resources.Designer.cs index 97804b8c0..1bf4b87fc 100644 --- a/ILSpy/Properties/Resources.Designer.cs +++ b/ILSpy/Properties/Resources.Designer.cs @@ -594,6 +594,15 @@ namespace ICSharpCode.ILSpy.Properties { } } + /// + /// Looks up a localized string similar to Decompilation complete in {0:F1} seconds.. + /// + public static string DecompilationCompleteInF1Seconds { + get { + return ResourceManager.GetString("DecompilationCompleteInF1Seconds", resourceCulture); + } + } + /// /// Looks up a localized string similar to Decompile. /// @@ -1803,6 +1812,33 @@ namespace ICSharpCode.ILSpy.Properties { } } + /// + /// Looks up a localized string similar to You can change this by toggling the setting at Options > Decompiler > Other > Use new SDK style format for generated project files (*.csproj).. + /// + public static string ProjectExportFormatChangeSettingHint { + get { + return ResourceManager.GetString("ProjectExportFormatChangeSettingHint", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A Non-SDK project was generated. Learn more at https://docs.microsoft.com/en-us/nuget/resources/check-project-format.. + /// + public static string ProjectExportFormatNonSDKHint { + get { + return ResourceManager.GetString("ProjectExportFormatNonSDKHint", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A SDK-style project was generated. Learn more at https://docs.microsoft.com/en-us/nuget/resources/check-project-format.. + /// + public static string ProjectExportFormatSDKHint { + get { + return ResourceManager.GetString("ProjectExportFormatSDKHint", resourceCulture); + } + } + /// /// Looks up a localized string similar to for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.. /// diff --git a/ILSpy/Properties/Resources.resx b/ILSpy/Properties/Resources.resx index 81fca48bd..969211abc 100644 --- a/ILSpy/Properties/Resources.resx +++ b/ILSpy/Properties/Resources.resx @@ -225,6 +225,9 @@ Are you sure you want to continue? Debug this step + + Decompilation complete in {0:F1} seconds. + Decompile @@ -628,6 +631,15 @@ Please disable all filters that might hide the item (i.e. activate "View > Sh Portable PDB|*.pdb|All files|*.* + + You can change this by toggling the setting at Options > Decompiler > Other > Use new SDK style format for generated project files (*.csproj). + + + A Non-SDK project was generated. Learn more at https://docs.microsoft.com/en-us/nuget/resources/check-project-format. + + + A SDK-style project was generated. Learn more at https://docs.microsoft.com/en-us/nuget/resources/check-project-format. + for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies. diff --git a/ILSpy/TextView/DecompilerTextView.cs b/ILSpy/TextView/DecompilerTextView.cs index 3e4e8d0b4..39783221e 100644 --- a/ILSpy/TextView/DecompilerTextView.cs +++ b/ILSpy/TextView/DecompilerTextView.cs @@ -965,8 +965,20 @@ namespace ICSharpCode.ILSpy.TextView } } stopwatch.Stop(); - AvalonEditTextOutput output = new AvalonEditTextOutput(); - output.WriteLine("Decompilation complete in " + stopwatch.Elapsed.TotalSeconds.ToString("F1") + " seconds."); + AvalonEditTextOutput output = new AvalonEditTextOutput { + EnableHyperlinks = true, + Title = string.Join(", ", context.TreeNodes.Select(n => n.Text)) + }; + + output.WriteLine(Properties.Resources.DecompilationCompleteInF1Seconds, stopwatch.Elapsed.TotalSeconds); + if (context.Options.SaveAsProjectDirectory != null) { + output.WriteLine(); + if (context.Options.DecompilerSettings.UseSdkStyleProjectFormat) + output.WriteLine(Properties.Resources.ProjectExportFormatSDKHint); + else + output.WriteLine(Properties.Resources.ProjectExportFormatNonSDKHint); + output.WriteLine(Properties.Resources.ProjectExportFormatChangeSettingHint); + } output.WriteLine(); output.AddButton(null, Properties.Resources.OpenExplorer, delegate { Process.Start("explorer", "/select,\"" + fileName + "\""); }); output.WriteLine();