From d2d76eceaa1e65b4a407c98c08becaba315e4c89 Mon Sep 17 00:00:00 2001 From: Snorri Beck Gislason Date: Sun, 30 Mar 2025 04:11:23 -0700 Subject: [PATCH] PSCmdLet to output target framework for an assembly (#3435) * PS cmdlet to output target framework for an assembly * Add GetTargetFramework to psd1 --------- Co-authored-by: Snorri Gislason --- .../GetTargetFramework.cs | 21 +++++++++++++++++++ .../manifest.psd1 | 3 ++- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 ICSharpCode.Decompiler.PowerShell/GetTargetFramework.cs diff --git a/ICSharpCode.Decompiler.PowerShell/GetTargetFramework.cs b/ICSharpCode.Decompiler.PowerShell/GetTargetFramework.cs new file mode 100644 index 000000000..772e6a876 --- /dev/null +++ b/ICSharpCode.Decompiler.PowerShell/GetTargetFramework.cs @@ -0,0 +1,21 @@ +using System.Management.Automation; + +using ICSharpCode.Decompiler.CSharp; +using ICSharpCode.Decompiler.Metadata; + +namespace ICSharpCode.Decompiler.PowerShell +{ + [Cmdlet(VerbsCommon.Get, "TargetFramework")] + [OutputType(typeof(string))] + public class GetTargetFramework : PSCmdlet + { + [Parameter(Position = 0, Mandatory = true)] + public CSharpDecompiler Decompiler { get; set; } + + protected override void ProcessRecord() + { + MetadataFile module = Decompiler.TypeSystem.MainModule.MetadataFile; + WriteObject(module.Metadata.DetectTargetFrameworkId()); + } + } +} diff --git a/ICSharpCode.Decompiler.PowerShell/manifest.psd1 b/ICSharpCode.Decompiler.PowerShell/manifest.psd1 index 575226e49..7d6ed69a0 100644 --- a/ICSharpCode.Decompiler.PowerShell/manifest.psd1 +++ b/ICSharpCode.Decompiler.PowerShell/manifest.psd1 @@ -68,7 +68,8 @@ 'Get-DecompiledSource', 'Get-DecompiledTypes', 'Get-Decompiler', - 'Get-DecompilerVersion' + 'Get-DecompilerVersion', + 'Get-TargetFramework' ) # Variables to export from this module