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();