From 68769756b46afad6fffc12e8bd7018f99acad4c3 Mon Sep 17 00:00:00 2001 From: Reza Date: Sat, 12 Jul 2025 23:47:40 +0200 Subject: [PATCH] Improve PrepareImageManifest.targets to support assembly public key Improved handling `Resources` Value generation to respect assembly's public key if present. Example - The following two will be supported for version replacement: * /AssemblyName;v1.1.1.1;26be58bdab7122ab;Component/Resources * /AssemblyName;v1.1.1.1;Component/Resources --- .../PrepareImageManifest.targets | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/VisualStudio.Extension-2022/PrepareImageManifest.targets b/VisualStudio.Extension-2022/PrepareImageManifest.targets index f228d517..641c2dc6 100644 --- a/VisualStudio.Extension-2022/PrepareImageManifest.targets +++ b/VisualStudio.Extension-2022/PrepareImageManifest.targets @@ -37,9 +37,16 @@ Text="Cannot find the Value attribute of the Resources element. imagemanifest cannot be updated." Condition="'$(ResourcesValue)' == ''" /> - $([MSBuild]::Subtract($(ResourcesValue.Split(';').Length), 1)) - $(ResourcesValue.Split(';')[$(LastIndex)]) - $([System.String]::Concat(/$(AssemblyName);v%(ImageManifests.AssemblyVersion);$(LastComponent))) + $([System.String]::Copy('$(ResourcesValue)').Split(';').Length) + $([System.String]::Copy('$(ResourcesValue)').Split(';')[3]) + $([System.String]::Copy('$(ResourcesValue)').Split(';')[2]) + $([System.String]::Copy('$(ResourcesValue)').Split(';')[2]) + + ;$(PublicKey) + + + $([System.String]::Concat(/$(AssemblyName);v%(ImageManifests.AssemblyVersion)$(SemiPublicKey);$(LastComponent))) +