From 30e2efad9fde08cfcacbc472889fce1bf3915de0 Mon Sep 17 00:00:00 2001 From: Andreas Weizel Date: Thu, 21 Oct 2021 00:10:06 +0200 Subject: [PATCH] Introduce a separate package for VS 2022 (VS17) AddIn - Set a different GUID for VS 2022 VSIX package - Fix wrong path in script --- .gitignore | 4 +- BuildTools/update-assemblyinfo.ps1 | 3 +- ILSpy.AddIn.Shared/Guids.cs | 4 + ILSpy.AddIn.VS17/Decompiler/Dummy.cs | 30 +++ .../ILSpy-Large.ico | Bin ILSpy.AddIn.VS17/ILSpy.AddIn.VS17.csproj | 190 ++++++++++++++++++ .../ILSpyAddIn.en-US.vsct | 0 ILSpy.AddIn.VS17/ILSpyAddIn.vsct | 109 ++++++++++ .../ILSpyAddIn.zh-Hans.vsct | 0 ILSpy.AddIn.VS17/Key.snk | Bin 0 -> 596 bytes ILSpy.AddIn.VS17/Properties/AssemblyInfo.cs | 17 ++ .../Properties/launchSettings.json | 8 + ILSpy.AddIn.VS17/README.md | 3 + .../Resources/Images.png | Bin .../Resources/Package.ico | Bin .../source.extension.vsixmanifest.template | 26 +++ .../zh-Hans/extension.vsixlangpack | 7 + ILSpy.AddIn/ILSpy-Large.ico | Bin 0 -> 58965 bytes ILSpy.AddIn/ILSpy.AddIn.csproj | 18 +- ILSpy.AddIn/ILSpyAddIn.en-US.vsct | 89 ++++++++ .../ILSpyAddIn.vsct | 0 ILSpy.AddIn/ILSpyAddIn.zh-Hans.vsct | 92 +++++++++ ILSpy.AddIn/Resources/Images.png | Bin 0 -> 1753 bytes ILSpy.AddIn/Resources/Package.ico | Bin 0 -> 18718 bytes ILSpy.sln | 7 + 25 files changed, 595 insertions(+), 12 deletions(-) create mode 100644 ILSpy.AddIn.VS17/Decompiler/Dummy.cs rename {ILSpy.AddIn.SharedFiles => ILSpy.AddIn.VS17}/ILSpy-Large.ico (100%) create mode 100644 ILSpy.AddIn.VS17/ILSpy.AddIn.VS17.csproj rename {ILSpy.AddIn.SharedFiles => ILSpy.AddIn.VS17}/ILSpyAddIn.en-US.vsct (100%) create mode 100644 ILSpy.AddIn.VS17/ILSpyAddIn.vsct rename {ILSpy.AddIn.SharedFiles => ILSpy.AddIn.VS17}/ILSpyAddIn.zh-Hans.vsct (100%) create mode 100644 ILSpy.AddIn.VS17/Key.snk create mode 100644 ILSpy.AddIn.VS17/Properties/AssemblyInfo.cs create mode 100644 ILSpy.AddIn.VS17/Properties/launchSettings.json create mode 100644 ILSpy.AddIn.VS17/README.md rename {ILSpy.AddIn.SharedFiles => ILSpy.AddIn.VS17}/Resources/Images.png (100%) rename {ILSpy.AddIn.SharedFiles => ILSpy.AddIn.VS17}/Resources/Package.ico (100%) create mode 100644 ILSpy.AddIn.VS17/source.extension.vsixmanifest.template create mode 100644 ILSpy.AddIn.VS17/zh-Hans/extension.vsixlangpack create mode 100644 ILSpy.AddIn/ILSpy-Large.ico create mode 100644 ILSpy.AddIn/ILSpyAddIn.en-US.vsct rename {ILSpy.AddIn.SharedFiles => ILSpy.AddIn}/ILSpyAddIn.vsct (100%) create mode 100644 ILSpy.AddIn/ILSpyAddIn.zh-Hans.vsct create mode 100644 ILSpy.AddIn/Resources/Images.png create mode 100644 ILSpy.AddIn/Resources/Package.ico diff --git a/.gitignore b/.gitignore index 18ce1cf70..daa771ef3 100644 --- a/.gitignore +++ b/.gitignore @@ -11,8 +11,8 @@ _ReSharper*/ *.ReSharper *.patch .vs/ -/ILSpy.AddIn/Packages/* -/ILSpy.AddIn/source.extension.vsixmanifest +/ILSpy.AddIn*/Packages/* +/ILSpy.AddIn*/source.extension.vsixmanifest /ICSharpCode.Decompiler.Tests/TestCases/Disassembler/Pretty/*.dll /ICSharpCode.Decompiler.Tests/TestCases/Disassembler/Pretty/*.result.il /ICSharpCode.Decompiler.Tests/TestCases/Correctness/*.exe diff --git a/BuildTools/update-assemblyinfo.ps1 b/BuildTools/update-assemblyinfo.ps1 index f7fa079b1..6fec95621 100644 --- a/BuildTools/update-assemblyinfo.ps1 +++ b/BuildTools/update-assemblyinfo.ps1 @@ -75,7 +75,8 @@ $templateFiles = ( @{Input="ICSharpCode.Decompiler/Properties/AssemblyInfo.template.cs"; Output="ICSharpCode.Decompiler/Properties/AssemblyInfo.cs"}, @{Input="ICSharpCode.Decompiler/ICSharpCode.Decompiler.nuspec.template"; Output="ICSharpCode.Decompiler/ICSharpCode.Decompiler.nuspec"}, @{Input="ILSpy/Properties/app.config.template"; Output = "ILSpy/app.config"}, - @{Input="ILSpy.AddIn/source.extension.vsixmanifest.template"; Output = "ILSpy.AddIn/source.extension.vsixmanifest"} + @{Input="ILSpy.AddIn/source.extension.vsixmanifest.template"; Output = "ILSpy.AddIn/source.extension.vsixmanifest"}, + @{Input="ILSpy.AddIn.VS17/source.extension.vsixmanifest.template"; Output = "ILSpy.AddIn.VS17/source.extension.vsixmanifest"} ); $appxmanifestFiles = ( diff --git a/ILSpy.AddIn.Shared/Guids.cs b/ILSpy.AddIn.Shared/Guids.cs index bbca1aa1a..a053166ee 100644 --- a/ILSpy.AddIn.Shared/Guids.cs +++ b/ILSpy.AddIn.Shared/Guids.cs @@ -6,7 +6,11 @@ namespace ICSharpCode.ILSpy.AddIn { static class GuidList { +#if VS17 + public const string guidILSpyAddInPkgString = "ebf12ca7-a1fd-4aee-a894-4a0c5682fc2f"; +#else public const string guidILSpyAddInPkgString = "a9120dbe-164a-4891-842f-fb7829273838"; +#endif public const string guidILSpyAddInCmdSetString = "85ddb8ca-a842-4b1c-ba1a-94141fdf19d0"; public static readonly Guid guidILSpyAddInCmdSet = new Guid(guidILSpyAddInCmdSetString); diff --git a/ILSpy.AddIn.VS17/Decompiler/Dummy.cs b/ILSpy.AddIn.VS17/Decompiler/Dummy.cs new file mode 100644 index 000000000..db6431339 --- /dev/null +++ b/ILSpy.AddIn.VS17/Decompiler/Dummy.cs @@ -0,0 +1,30 @@ +// Dummy types so that we can use compile some ICS.Decompiler classes in the AddIn context +// without depending on SRM etc. + +using System; +using System.Collections.Generic; +using System.Text; + +namespace ICSharpCode.Decompiler +{ + public class ReferenceLoadInfo + { + public void AddMessage(params object[] args) { } + } + + enum MessageKind { Warning } + + public static class MetadataExtensions + { + public static string ToHexString(this IEnumerable bytes, int estimatedLength) + { + if (bytes == null) + throw new ArgumentNullException(nameof(bytes)); + + StringBuilder sb = new StringBuilder(estimatedLength * 2); + foreach (var b in bytes) + sb.AppendFormat("{0:x2}", b); + return sb.ToString(); + } + } +} diff --git a/ILSpy.AddIn.SharedFiles/ILSpy-Large.ico b/ILSpy.AddIn.VS17/ILSpy-Large.ico similarity index 100% rename from ILSpy.AddIn.SharedFiles/ILSpy-Large.ico rename to ILSpy.AddIn.VS17/ILSpy-Large.ico diff --git a/ILSpy.AddIn.VS17/ILSpy.AddIn.VS17.csproj b/ILSpy.AddIn.VS17/ILSpy.AddIn.VS17.csproj new file mode 100644 index 000000000..75390d238 --- /dev/null +++ b/ILSpy.AddIn.VS17/ILSpy.AddIn.VS17.csproj @@ -0,0 +1,190 @@ + + + + + + + net472 + ICSharpCode.ILSpy.AddIn + + IC#Code + ILSpy + 1.7.1.0 + 1.7.1.0 + 9.0 + + False + true + TRACE;VSADDIN;VS17 + + True + Key.snk + + + + full + true + + + + pdbonly + true + + + + False + + + + + + + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + false + false + + + + + + + + + + + + + + + + + + + + + + + + + ..\ILSpy\bin\$(Configuration)\$(TargetFramework)\ + + + + + true + \ + + + + + + + true + \ILSpy + + + + + + true + \ILSpy\zh-Hans\ + + + Always + true + + + + + + + + Designer + + + Designer + + + Designer + + + + Designer + + + + + true + Always + + + Menus.ctmenu + Designer + ILSpyAddIn.vsct + + + Menus.ctmenu + Designer + ILSpyAddIn.vsct + + + + + + + + + + + + + Always + true + + + + + true + false + true + ILSpy.AddIn for Visual Studio 2022 + + + + + + + + + + + True + + + + + + + + diff --git a/ILSpy.AddIn.SharedFiles/ILSpyAddIn.en-US.vsct b/ILSpy.AddIn.VS17/ILSpyAddIn.en-US.vsct similarity index 100% rename from ILSpy.AddIn.SharedFiles/ILSpyAddIn.en-US.vsct rename to ILSpy.AddIn.VS17/ILSpyAddIn.en-US.vsct diff --git a/ILSpy.AddIn.VS17/ILSpyAddIn.vsct b/ILSpy.AddIn.VS17/ILSpyAddIn.vsct new file mode 100644 index 000000000..9fa465a4d --- /dev/null +++ b/ILSpy.AddIn.VS17/ILSpyAddIn.vsct @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ILSpy.AddIn.SharedFiles/ILSpyAddIn.zh-Hans.vsct b/ILSpy.AddIn.VS17/ILSpyAddIn.zh-Hans.vsct similarity index 100% rename from ILSpy.AddIn.SharedFiles/ILSpyAddIn.zh-Hans.vsct rename to ILSpy.AddIn.VS17/ILSpyAddIn.zh-Hans.vsct diff --git a/ILSpy.AddIn.VS17/Key.snk b/ILSpy.AddIn.VS17/Key.snk new file mode 100644 index 0000000000000000000000000000000000000000..727377decbf377a3e2284e19560646f3a758654c GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097HJW4T}) zsn$-qs`JbL!J&*od4b}k9aGh-0#j>sQ0FrDl@c5{psW3}g_bonCD1gw`R4Kcio~o3 zTBgBuO8tip8_Q+U1Yrov&zcF`=NvfcJ z-_Sqh+VXo&y-oJ2$HF?OEiCH5Cj!#ETAPzO6Hi~48_b?=E8=4;_S=f*0G0RSZ76NlF~F34^Vue0In3JN^BD5Xw-45a9ttTT zB%UT# + + + + ILSpy + Integrates the ILSpy decompiler into Visual Studio. + https://ilspy.net + license.txt + ILSpy-Large.ico + + + + amd64 + + + + + + + + + + + + + diff --git a/ILSpy.AddIn.VS17/zh-Hans/extension.vsixlangpack b/ILSpy.AddIn.VS17/zh-Hans/extension.vsixlangpack new file mode 100644 index 000000000..c650a50a2 --- /dev/null +++ b/ILSpy.AddIn.VS17/zh-Hans/extension.vsixlangpack @@ -0,0 +1,7 @@ + + + + ILSpy + 可以在 Visual Studio 中直接打开反编译工具 ILSpy 。 + + \ No newline at end of file diff --git a/ILSpy.AddIn/ILSpy-Large.ico b/ILSpy.AddIn/ILSpy-Large.ico new file mode 100644 index 0000000000000000000000000000000000000000..14a26f95a3aa8fa9e1f738502a482a9050d8b123 GIT binary patch literal 58965 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 \ILSpy\zh-Hans\ - + Always true - - + + - + Designer - + Designer - + Designer @@ -138,12 +138,12 @@ true Always - + Menus.ctmenu Designer ILSpyAddIn.vsct - + Menus.ctmenu Designer ILSpyAddIn.vsct @@ -177,7 +177,7 @@ - + True diff --git a/ILSpy.AddIn/ILSpyAddIn.en-US.vsct b/ILSpy.AddIn/ILSpyAddIn.en-US.vsct new file mode 100644 index 000000000..e52c29d25 --- /dev/null +++ b/ILSpy.AddIn/ILSpyAddIn.en-US.vsct @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ILSpy.AddIn.SharedFiles/ILSpyAddIn.vsct b/ILSpy.AddIn/ILSpyAddIn.vsct similarity index 100% rename from ILSpy.AddIn.SharedFiles/ILSpyAddIn.vsct rename to ILSpy.AddIn/ILSpyAddIn.vsct diff --git a/ILSpy.AddIn/ILSpyAddIn.zh-Hans.vsct b/ILSpy.AddIn/ILSpyAddIn.zh-Hans.vsct new file mode 100644 index 000000000..406299119 --- /dev/null +++ b/ILSpy.AddIn/ILSpyAddIn.zh-Hans.vsct @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ILSpy.AddIn/Resources/Images.png b/ILSpy.AddIn/Resources/Images.png new file mode 100644 index 0000000000000000000000000000000000000000..4a217fa719351140b0b35698415abfe86bc5a2a4 GIT binary patch literal 1753 zcmV;~1}6E5P)AHIP00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf3;+NN3;{ntBFF#$25w12K~z{ry_kDY zlvNbK&$sc~L13BD9J5gzi%imV)G?dMmd7+@Qlc|HhEynNYQ_jE|0tA4I{uO7COSpP z2&OXWsDRH=Oq5ddHDCoPJ{C|Q)7*vKWnaSWp6hqlZ$I|i7mmM~GxvVy-t+D5IrpA> z?h1qu2$sUaiimDvvI>GAY666Rbdcs~-!D9f-B^@s6g2@enBV_67*qg|&k8q_A(3jx zTrdm9j2a1a0&pH(W=wup#`3hXN}GrNJ*7f%j$iTFe%wu1tlU%u-wbBr&z^X9*s zNT2X`39OI0;Ov?6wT>R6{(9w>0xCM{%@kJ?`j=Ccd^Za-twaN6fOE~EKD9v!_xNC#3*my{I z?}T4L2z@G)a1m8*I;kEB5nDIb6z?QX=L2v!o#3tAyJfX2deR_xN=Hi0<8U3$@sy5y z*-N>$vlK=qzBPxg`a=4M!HL7bAg}5wAT&BAGcq!=ktr0|xAGbG+foXE950Hb{UoOM zg|p8o$eql=F|q3oo&!=jR)3N7T5U{>-6rzS-TS2N_8oHd#w~KW`6fBnaD|-u{ZEox zu!)J3n{AzB)i-6V6)l{h$nlTgLD10$M26RsQXSAsY#tdw#7#=shsjG zLEV|6&t1B<`s0KKC5QcJ5&9ahlALd*jps2X2~mX*6nWp1csv8_b_ZB`ZA{D-6e|-G zw!M$U6Y_Kv$jU`?Wbr2ViKzSeTeN0is_^g1XvEt{||T!1^>8^w}5veFOyh3DH9$MUDTU4c(+{n+9Vq zhrY+??a-BzQeYuVH`5;=_Prg#{BY$Ws@;&!;qz20v(tq=hw7nh2VH5iwa{S*fg6T? z(9^Hl{x3jX*KoGtE$Dc*1H_#`MG2lZ7N#XZR(h)6B`Sy8FG@>+MRSu~>Bt*c>6km( z%TF$w3&yK|F3~RAMYCEu7E6@Mlz=IbnppnBOz+q^CrX5L&X#`V@R7ADM)FYqA zc0hj4Vqrtka=~GDLhZ#qXgGHTdOD5p->rK952*9m>VKGaco6ih?XaP6`G60Q=WO|z z;0w7uPeAlc=7Oha!Uz5odytzges1<_JeXEvKBF@+ys5cDm7z+f(7 z@*wb)?*>1Sw~m@hiqH3vW{Zvd($Y!_YV;&4Yb_mmbZW~*TE!?;D+rFst0Q?8!p`8`WiP$Tirn$cb!yx zjq|EUDxUOwzN-pq(>+a`d3n%PRRX6gkHOi!ze0QU4k#`C(y!>tSFRjiJHeN|(oUea z+6-Lz{J_Pug9mZACN_;$Jk@r)J#lpE{0ePZ6*x>iaOR5-T$eOC{PN`u9LIU$;{c>7 zhKnaXn@nMy)(ykR=%t(BME+t(+U)Sl;T-%g=#%&7d3Bx?bRNH~ZQ8n*=>oC8+!}&AGnD0|VfHq=v;cdC1q{00000NkvXXu0mjf0W?vx literal 0 HcmV?d00001 diff --git a/ILSpy.AddIn/Resources/Package.ico b/ILSpy.AddIn/Resources/Package.ico new file mode 100644 index 0000000000000000000000000000000000000000..900abec819429604467863ee22abc7f1cf2b9ebc GIT binary patch literal 18718 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 literal 0 HcmV?d00001 diff --git a/ILSpy.sln b/ILSpy.sln index ad66596a9..d9e3d4337 100644 --- a/ILSpy.sln +++ b/ILSpy.sln @@ -45,8 +45,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ICSharpCode.Decompiler.Powe EndProject Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "ILSpy.AddIn.Shared", "ILSpy.AddIn.Shared\ILSpy.AddIn.Shared.shproj", "{ACAB1E5D-B3DF-4092-AA72-692F8341E520}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILSpy.AddIn.VS17", "ILSpy.AddIn.VS17\ILSpy.AddIn.VS17.csproj", "{09A03980-D14A-4705-A38C-741AD7166DEE}" +EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution + ILSpy.AddIn.Shared\ILSpy.AddIn.Shared.projitems*{09a03980-d14a-4705-a38c-741ad7166dee}*SharedItemsImports = 5 ILSpy.AddIn.Shared\ILSpy.AddIn.Shared.projitems*{9d7be6c0-b7b3-4a50-a54e-18a2d84a3384}*SharedItemsImports = 5 ILSpy.AddIn.Shared\ILSpy.AddIn.Shared.projitems*{acab1e5d-b3df-4092-aa72-692f8341e520}*SharedItemsImports = 13 EndGlobalSection @@ -107,6 +110,10 @@ Global {50060E0C-FA25-41F4-B72F-8490324EC9F0}.Debug|Any CPU.Build.0 = Debug|Any CPU {50060E0C-FA25-41F4-B72F-8490324EC9F0}.Release|Any CPU.ActiveCfg = Release|Any CPU {50060E0C-FA25-41F4-B72F-8490324EC9F0}.Release|Any CPU.Build.0 = Release|Any CPU + {09A03980-D14A-4705-A38C-741AD7166DEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {09A03980-D14A-4705-A38C-741AD7166DEE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {09A03980-D14A-4705-A38C-741AD7166DEE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {09A03980-D14A-4705-A38C-741AD7166DEE}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE