Browse Source
Introduce a separate package for VS 2022 (VS17) AddIn
Introduce a separate package for VS 2022 (VS17) AddIn
- Set a different GUID for VS 2022 VSIX package - Fix wrong path in scriptpull/2525/head

25 changed files with 595 additions and 12 deletions
-
4.gitignore
-
3BuildTools/update-assemblyinfo.ps1
-
4ILSpy.AddIn.Shared/Guids.cs
-
30ILSpy.AddIn.VS17/Decompiler/Dummy.cs
-
0ILSpy.AddIn.VS17/ILSpy-Large.ico
-
190ILSpy.AddIn.VS17/ILSpy.AddIn.VS17.csproj
-
0ILSpy.AddIn.VS17/ILSpyAddIn.en-US.vsct
-
109ILSpy.AddIn.VS17/ILSpyAddIn.vsct
-
0ILSpy.AddIn.VS17/ILSpyAddIn.zh-Hans.vsct
-
BINILSpy.AddIn.VS17/Key.snk
-
17ILSpy.AddIn.VS17/Properties/AssemblyInfo.cs
-
8ILSpy.AddIn.VS17/Properties/launchSettings.json
-
3ILSpy.AddIn.VS17/README.md
-
0ILSpy.AddIn.VS17/Resources/Images.png
-
0ILSpy.AddIn.VS17/Resources/Package.ico
-
26ILSpy.AddIn.VS17/source.extension.vsixmanifest.template
-
7ILSpy.AddIn.VS17/zh-Hans/extension.vsixlangpack
-
BINILSpy.AddIn/ILSpy-Large.ico
-
18ILSpy.AddIn/ILSpy.AddIn.csproj
-
89ILSpy.AddIn/ILSpyAddIn.en-US.vsct
-
0ILSpy.AddIn/ILSpyAddIn.vsct
-
92ILSpy.AddIn/ILSpyAddIn.zh-Hans.vsct
-
BINILSpy.AddIn/Resources/Images.png
-
BINILSpy.AddIn/Resources/Package.ico
-
7ILSpy.sln
@ -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<byte> 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(); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,190 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<Project> |
|||
<Import Sdk="Microsoft.NET.Sdk" Project="Sdk.props" /> |
|||
|
|||
|
|||
<PropertyGroup> |
|||
<TargetFramework>net472</TargetFramework> |
|||
<RootNamespace>ICSharpCode.ILSpy.AddIn</RootNamespace> |
|||
|
|||
<Company>IC#Code</Company> |
|||
<Description>ILSpy</Description> |
|||
<Version>1.7.1.0</Version> |
|||
<FileVersion>1.7.1.0</FileVersion> |
|||
<LangVersion>9.0</LangVersion> |
|||
|
|||
<EnableDefaultItems>False</EnableDefaultItems> |
|||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> |
|||
<DefineConstants>TRACE;VSADDIN;VS17</DefineConstants> |
|||
|
|||
<SignAssembly>True</SignAssembly> |
|||
<AssemblyOriginatorKeyFile>Key.snk</AssemblyOriginatorKeyFile> |
|||
</PropertyGroup> |
|||
|
|||
<PropertyGroup Condition="'$(Configuration)' == 'Debug'"> |
|||
<DebugType>full</DebugType> |
|||
<DebugSymbols>true</DebugSymbols> |
|||
</PropertyGroup> |
|||
|
|||
<PropertyGroup Condition="'$(Configuration)' == 'Release'"> |
|||
<DebugType>pdbonly</DebugType> |
|||
<DebugSymbols>true</DebugSymbols> |
|||
</PropertyGroup> |
|||
|
|||
<PropertyGroup Condition="'$(AppVeyor)' != ''"> |
|||
<DeployExtension>False</DeployExtension> |
|||
</PropertyGroup> |
|||
|
|||
<ItemGroup> |
|||
<Reference Include="Microsoft.CSharp" /> |
|||
<Reference Include="System.Design" /> |
|||
</ItemGroup> |
|||
|
|||
<Import Project="..\packages.props" /> |
|||
|
|||
<ItemGroup> |
|||
<PackageReference Include="Microsoft.VisualStudio.SDK" Version="17.0.0-previews-4-31709-430" /> |
|||
<!-- Intentionally using an old Roslyn version in the AddIn, so that we stay compatible with old VS versions. --> |
|||
<PackageReference Include="Microsoft.CodeAnalysis" Version="2.4.0" /> |
|||
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="2.4.0" /> |
|||
<PackageReference Include="Microsoft.VisualStudio.LanguageServices" Version="2.4.0" /> |
|||
<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="17.0.5232"> |
|||
<PrivateAssets>all</PrivateAssets> |
|||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> |
|||
</PackageReference> |
|||
<PackageReference Include="Mono.Cecil" Version="$(MonoCecilVersion)" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<ProjectReference Include="..\ILSpy\ILSpy.csproj"> |
|||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly> |
|||
<Private>false</Private> |
|||
</ProjectReference> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<Compile Include="..\ICSharpCode.Decompiler\Metadata\AssemblyReferences.cs" Link="Decompiler\AssemblyReferences.cs" /> |
|||
<Compile Include="..\ICSharpCode.Decompiler\Metadata\DotNetCorePathFinder.cs" Link="Decompiler\DotNetCorePathFinder.cs" /> |
|||
<Compile Include="..\ICSharpCode.Decompiler\Metadata\LightJson\JsonArray.cs" Link="Decompiler\LightJson\JsonArray.cs" /> |
|||
<Compile Include="..\ICSharpCode.Decompiler\Metadata\LightJson\JsonObject.cs" Link="Decompiler\LightJson\JsonObject.cs" /> |
|||
<Compile Include="..\ICSharpCode.Decompiler\Metadata\LightJson\JsonValue.cs" Link="Decompiler\LightJson\JsonValue.cs" /> |
|||
<Compile Include="..\ICSharpCode.Decompiler\Metadata\LightJson\JsonValueType.cs" Link="Decompiler\LightJson\JsonValueType.cs" /> |
|||
<Compile Include="..\ICSharpCode.Decompiler\Metadata\LightJson\Serialization\JsonParseException.cs" Link="Decompiler\LightJson\Serialization\JsonParseException.cs" /> |
|||
<Compile Include="..\ICSharpCode.Decompiler\Metadata\LightJson\Serialization\JsonReader.cs" Link="Decompiler\LightJson\Serialization\JsonReader.cs" /> |
|||
<Compile Include="..\ICSharpCode.Decompiler\Metadata\LightJson\Serialization\TextPosition.cs" Link="Decompiler\LightJson\Serialization\TextPosition.cs" /> |
|||
<Compile Include="..\ICSharpCode.Decompiler\Metadata\LightJson\Serialization\TextScanner.cs" Link="Decompiler\LightJson\Serialization\TextScanner.cs" /> |
|||
<Compile Include="..\ICSharpCode.Decompiler\Metadata\UniversalAssemblyResolver.cs" Link="UniversalAssemblyResolver.cs" /> |
|||
<Compile Include="..\ICSharpCode.Decompiler\Util\EmptyList.cs" Link="Decompiler\EmptyList.cs" /> |
|||
<Compile Include="..\ICSharpCode.Decompiler\Util\NullAttributes.cs" Link="NullAttributes.cs" /> |
|||
<Compile Include="..\ILSpy\NativeMethods.cs" Link="NativeMethods.cs" /> |
|||
<Compile Include="Decompiler\Dummy.cs" /> |
|||
<Compile Include="Properties\AssemblyInfo.cs" /> |
|||
</ItemGroup> |
|||
|
|||
<!-- |
|||
BEGIN WORKAROUND: |
|||
Nuget packages do not get added to the vsix automatically. |
|||
(related to https://github.com/icsharpcode/ILSpy/issues/511) |
|||
--> |
|||
<PropertyGroup> |
|||
<ILSpyBuildPath>..\ILSpy\bin\$(Configuration)\$(TargetFramework)\</ILSpyBuildPath> |
|||
</PropertyGroup> |
|||
|
|||
<ItemGroup> |
|||
<Content Include="$(OutputPath)Mono.Cecil.dll"> |
|||
<IncludeInVSIX>true</IncludeInVSIX> |
|||
<VSIXSubPath>\</VSIXSubPath> |
|||
</Content> |
|||
</ItemGroup> |
|||
<!-- END WORKAROUND --> |
|||
|
|||
<ItemGroup> |
|||
<Content Include="$(ILSpyBuildPath)*.dll;$(ILSpyBuildPath)ILSpy.exe;$(ILSpyBuildPath)ILSpy.exe.config"> |
|||
<IncludeInVSIX>true</IncludeInVSIX> |
|||
<VSIXSubPath>\ILSpy</VSIXSubPath> |
|||
</Content> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<Content Include="$(ILSpyBuildPath)zh-Hans\ILSpy.resources.dll;$(ILSpyBuildPath)zh-Hans\ILSpy.ReadyToRun.Plugin.resources.dll;"> |
|||
<IncludeInVSIX>true</IncludeInVSIX> |
|||
<VSIXSubPath>\ILSpy\zh-Hans\</VSIXSubPath> |
|||
</Content> |
|||
<Content Include="ILSpy-Large.ico"> |
|||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> |
|||
<IncludeInVSIX>true</IncludeInVSIX> |
|||
</Content> |
|||
<Content Include="Resources\Images.png" /> |
|||
<Content Include="Resources\Package.ico" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<None Include="ILSpyAddIn.en-US.vsct"> |
|||
<SubType>Designer</SubType> |
|||
</None> |
|||
<None Include="ILSpyAddIn.vsct"> |
|||
<SubType>Designer</SubType> |
|||
</None> |
|||
<None Include="ILSpyAddIn.zh-Hans.vsct"> |
|||
<SubType>Designer</SubType> |
|||
</None> |
|||
<None Include="source.extension.vsixmanifest.template" /> |
|||
<None Include="source.extension.vsixmanifest"> |
|||
<SubType>Designer</SubType> |
|||
</None> |
|||
</ItemGroup> |
|||
<ItemGroup> |
|||
<Content Include="zh-Hans\extension.vsixlangpack"> |
|||
<IncludeInVSIX>true</IncludeInVSIX> |
|||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> |
|||
</Content> |
|||
<VSCTCompile Include="ILSpyAddIn.en-US.vsct"> |
|||
<ResourceName>Menus.ctmenu</ResourceName> |
|||
<SubType>Designer</SubType> |
|||
<DependentUpon>ILSpyAddIn.vsct</DependentUpon> |
|||
</VSCTCompile> |
|||
<VSCTCompile Include="ILSpyAddIn.zh-Hans.vsct"> |
|||
<ResourceName>Menus.ctmenu</ResourceName> |
|||
<SubType>Designer</SubType> |
|||
<DependentUpon>ILSpyAddIn.vsct</DependentUpon> |
|||
</VSCTCompile> |
|||
</ItemGroup> |
|||
<ItemGroup> |
|||
<None Include="Key.snk" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<None Include="Properties\launchSettings.json" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<Content Include="..\doc\license.txt" Link="license.txt"> |
|||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> |
|||
<IncludeInVSIX>true</IncludeInVSIX> |
|||
</Content> |
|||
</ItemGroup> |
|||
|
|||
<PropertyGroup> |
|||
<UseCodebase>true</UseCodebase> |
|||
<RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild> |
|||
<RunAnalyzersDuringLiveAnalysis>true</RunAnalyzersDuringLiveAnalysis> |
|||
<Product>ILSpy.AddIn for Visual Studio 2022</Product> |
|||
</PropertyGroup> |
|||
|
|||
<Import Project="..\ILSpy.AddIn.Shared\ILSpy.AddIn.Shared.projitems" Label="Shared" /> |
|||
|
|||
<Import Sdk="Microsoft.NET.Sdk" Project="Sdk.targets" /> |
|||
|
|||
<Import Project="$(VSToolsPath)\VSSDK\Microsoft.VsSDK.targets" Condition="Exists('$(VSToolsPath)\VSSDK\Microsoft.VsSDK.targets')" /> |
|||
|
|||
<ItemGroup> |
|||
<Compile Update="..\ILSpy.AddIn.Shared\Resources.Designer.cs"> |
|||
<DesignTime>True</DesignTime> |
|||
</Compile> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<Folder Include="Resources\" /> |
|||
</ItemGroup> |
|||
|
|||
</Project> |
@ -0,0 +1,109 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<CommandTable xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable" xmlns:xs="http://www.w3.org/2001/XMLSchema"> |
|||
|
|||
<!-- This is the file that defines the actual layout and type of the commands. |
|||
It is divided in different sections (e.g. command definition, command |
|||
placement, ...), with each defining a specific set of properties. |
|||
See the comment before each section for more details about how to |
|||
use it. --> |
|||
|
|||
<!-- The VSCT compiler (the tool that translates this file into the binary |
|||
format that VisualStudio will consume) has the ability to run a preprocessor |
|||
on the vsct file; this preprocessor is (usually) the C++ preprocessor, so |
|||
it is possible to define includes and macros with the same syntax used |
|||
in C++ files. Using this ability of the compiler here, we include some files |
|||
defining some of the constants that we will use inside the file. --> |
|||
|
|||
<!--This is the file that defines the IDs for all the commands exposed by VisualStudio. --> |
|||
<Extern href="stdidcmd.h"/> |
|||
|
|||
<!--This header contains the command ids for the menus provided by the shell. --> |
|||
<Extern href="vsshlids.h"/> |
|||
|
|||
<!--The Commands section is where we the commands, menus and menu groups are defined. |
|||
This section uses a Guid to identify the package that provides the command defined inside it. --> |
|||
<Commands package="guidILSpyAddInPkg"> |
|||
<!-- Inside this section we have different sub-sections: one for the menus, another |
|||
for the menu groups, one for the buttons (the actual commands), one for the combos |
|||
and the last one for the bitmaps used. Each element is identified by a command id that |
|||
is a unique pair of guid and numeric identifier; the guid part of the identifier is usually |
|||
called "command set" and is used to group different command inside a logically related |
|||
group; your package should define its own command set in order to avoid collisions |
|||
with command ids defined by other packages. --> |
|||
|
|||
|
|||
<!-- In this section you can define new menu groups. A menu group is a container for |
|||
other menus or buttons (commands); from a visual point of view you can see the |
|||
group as the part of a menu contained between two lines. The parent of a group |
|||
must be a menu. --> |
|||
<Groups> |
|||
<Group guid="guidILSpyAddInCmdSet" id="OpenILSpyGroup" priority="0x0200"> |
|||
<Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS"/> |
|||
</Group> |
|||
|
|||
<Group guid="guidILSpyAddInCmdSet" id="OpenILSpyProjGroup" priority="0x0200"> |
|||
<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_PROJNODE"/> |
|||
</Group> |
|||
|
|||
<Group guid="guidILSpyAddInCmdSet" id="OpenILSpyCodeItemGroup" priority="0x0200"> |
|||
<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_CODEWIN"/> |
|||
</Group> |
|||
|
|||
<Group guid="guidILSpyAddInCmdSet" id="OpenILSpyRefGroup" priority="0x0200"> |
|||
<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_REFERENCE"/> |
|||
</Group> |
|||
</Groups> |
|||
|
|||
<!--The bitmaps section is used to define the bitmaps that are used for the commands.--> |
|||
<Bitmaps> |
|||
<!-- The bitmap id is defined in a way that is a little bit different from the others: |
|||
the declaration starts with a guid for the bitmap strip, then there is the resource id of the |
|||
bitmap strip containing the bitmaps and then there are the numeric ids of the elements used |
|||
inside a button definition. An important aspect of this declaration is that the element id |
|||
must be the actual index (1-based) of the bitmap inside the bitmap strip. --> |
|||
<Bitmap guid="guidImages" href="Resources\Images.png" usedList="bmpLogo, bmpPic1, bmpPic2, bmpPicX, bmpPicArrows"/> |
|||
</Bitmaps> |
|||
</Commands> |
|||
<CommandPlacements> |
|||
<CommandPlacement guid="guidILSpyAddInCmdSet" id="OpenILSpyRefGroup" priority="0x0200"> |
|||
<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_PACKAGEREFERENCE"/> |
|||
</CommandPlacement> |
|||
<CommandPlacement guid="guidILSpyAddInCmdSet" id="OpenILSpyRefGroup" priority="0x0200"> |
|||
<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_PROJECTREFERENCE"/> |
|||
</CommandPlacement> |
|||
</CommandPlacements> |
|||
<Symbols> |
|||
<!-- This is the package guid. --> |
|||
<GuidSymbol name="guidILSpyAddInPkg" value="{ebf12ca7-a1fd-4aee-a894-4a0c5682fc2f}" /> |
|||
|
|||
<!-- This is the guid used to group the menu commands together --> |
|||
<GuidSymbol name="guidILSpyAddInCmdSet" value="{85ddb8ca-a842-4b1c-ba1a-94141fdf19d0}"> |
|||
|
|||
<IDSymbol name="OpenILSpyGroup" value="0x1010" /> |
|||
<IDSymbol name="OpenILSpyRefGroup" value="0x1020" /> |
|||
<IDSymbol name="OpenILSpyProjGroup" value="0x1030" /> |
|||
<IDSymbol name="OpenILSpyCodeItemGroup" value="0x1040" /> |
|||
<IDSymbol name="OpenILSpyPackageRefGroup" value="0x1050" /> |
|||
<IDSymbol name="OpenILSpyProjectRefGroup" value="0x1060" /> |
|||
<IDSymbol name="cmdidOpenILSpy" value="0x0100" /> |
|||
<IDSymbol name="cmdidOpenReferenceInILSpy" value="0x0200" /> |
|||
<IDSymbol name="cmdidOpenProjectOutputInILSpy" value="0x0300" /> |
|||
<IDSymbol name="cmdidOpenCodeItemInILSpy" value="0x0400" /> |
|||
</GuidSymbol> |
|||
|
|||
<GuidSymbol name="guidImages" value="{2f654db9-4641-4638-9937-27c6202b2a6a}" > |
|||
<IDSymbol name="bmpLogo" value="1" /> |
|||
<IDSymbol name="bmpPic1" value="2" /> |
|||
<IDSymbol name="bmpPic2" value="3" /> |
|||
<IDSymbol name="bmpPicX" value="4" /> |
|||
<IDSymbol name="bmpPicArrows" value="5" /> |
|||
<IDSymbol name="bmpPicStrikethrough" value="6" /> |
|||
</GuidSymbol> |
|||
|
|||
<GuidSymbol name="guidReferenceContext" value="{D309F791-903F-11D0-9EFC-00A0C911004F}"> |
|||
<IDSymbol name="IDM_VS_CTXT_PACKAGEREFERENCE" value="0x04A3"/> |
|||
<IDSymbol name="IDM_VS_CTXT_PROJECTREFERENCE" value="0x04A7"/> |
|||
</GuidSymbol> |
|||
</Symbols> |
|||
|
|||
</CommandTable> |
@ -0,0 +1,17 @@ |
|||
using System; |
|||
using System.Reflection; |
|||
using System.Resources; |
|||
using System.Runtime.CompilerServices; |
|||
using System.Runtime.InteropServices; |
|||
|
|||
// General Information about an assembly is controlled through the following
|
|||
// set of attributes. Change these attribute values to modify the information
|
|||
// associated with an assembly.
|
|||
[assembly: AssemblyCopyright("")] |
|||
[assembly: AssemblyTrademark("")] |
|||
[assembly: AssemblyCulture("")] |
|||
[assembly: ComVisible(false)] |
|||
[assembly: CLSCompliant(false)] |
|||
[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] |
|||
[assembly: InternalsVisibleTo("ILSpy.AddIn_IntegrationTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100653c4a319be4f524972c3c5bba5fd243330f8e900287d9022d7821a63fd0086fd3801e3683dbe9897f2ecc44727023e9b40adcf180730af70c81c54476b3e5ba8b0f07f5132b2c3cc54347a2c1a9d64ebaaaf3cbffc1a18c427981e2a51d53d5ab02536b7550e732f795121c38a0abfdb38596353525d034baf9e6f1fd8ac4ac")] |
|||
[assembly: InternalsVisibleTo("ILSpy.AddIn_UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100653c4a319be4f524972c3c5bba5fd243330f8e900287d9022d7821a63fd0086fd3801e3683dbe9897f2ecc44727023e9b40adcf180730af70c81c54476b3e5ba8b0f07f5132b2c3cc54347a2c1a9d64ebaaaf3cbffc1a18c427981e2a51d53d5ab02536b7550e732f795121c38a0abfdb38596353525d034baf9e6f1fd8ac4ac")] |
@ -0,0 +1,8 @@ |
|||
{ |
|||
"profiles": { |
|||
"Visual Studio Extension": { |
|||
"executablePath": "$(DevEnvDir)devenv.exe", |
|||
"commandLineArgs": "/rootsuffix $(VSSDKTargetPlatformRegRootSuffix) /log" |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,3 @@ |
|||
Test cases for various types of projects as well as corresponding test plans are located in a separate repository. |
|||
|
|||
[https://github.com/icsharpcode/ILSpy-Addin-tests](https://github.com/icsharpcode/ILSpy-Addin-tests) |
Before Width: 96 | Height: 16 | Size: 1.7 KiB After Width: 96 | Height: 16 | Size: 1.7 KiB |
@ -0,0 +1,26 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<PackageManifest Version="2.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011"> |
|||
<Metadata> |
|||
<Identity Id="ebf12ca7-a1fd-4aee-a894-4a0c5682fc2f" Version="$INSERTVERSION$" Language="en-US" Publisher="ic#code" /> |
|||
<DisplayName>ILSpy</DisplayName> |
|||
<Description xml:space="preserve">Integrates the ILSpy decompiler into Visual Studio.</Description> |
|||
<MoreInfo>https://ilspy.net</MoreInfo> |
|||
<License>license.txt</License> |
|||
<Icon>ILSpy-Large.ico</Icon> |
|||
</Metadata> |
|||
<Installation> |
|||
<InstallationTarget Id="Microsoft.VisualStudio.Community" Version ="[17.0, 18.0)"> |
|||
<ProductArchitecture>amd64</ProductArchitecture> |
|||
</InstallationTarget> |
|||
</Installation> |
|||
<Dependencies> |
|||
<Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" d:Source="Manual" Version="[4.5,)" /> |
|||
</Dependencies> |
|||
<Assets> |
|||
<Asset Type="Microsoft.VisualStudio.MefComponent" d:Source="Project" d:ProjectName="ILSpy.AddIn.VS17" Path="|ILSpy.AddIn.VS17|"/> |
|||
</Assets> |
|||
<Prerequisites> |
|||
<Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[17.0,)" DisplayName="Visual Studio core editor" /> |
|||
<Prerequisite Id="Microsoft.VisualStudio.Component.Roslyn.LanguageServices" Version="[17.0,)" DisplayName="Roslyn Language Services" /> |
|||
</Prerequisites> |
|||
</PackageManifest> |
@ -0,0 +1,7 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<PackageLanguagePackManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011"> |
|||
<Metadata> |
|||
<DisplayName>ILSpy</DisplayName> |
|||
<Description>可以在 Visual Studio 中直接打开反编译工具 ILSpy 。</Description> |
|||
</Metadata> |
|||
</PackageLanguagePackManifest> |
@ -0,0 +1,89 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<CommandTable xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable" xmlns:xs="http://www.w3.org/2001/XMLSchema"> |
|||
|
|||
<!-- This is the file that defines the actual layout and type of the commands. |
|||
It is divided in different sections (e.g. command definition, command |
|||
placement, ...), with each defining a specific set of properties. |
|||
See the comment before each section for more details about how to |
|||
use it. --> |
|||
|
|||
<!-- The VSCT compiler (the tool that translates this file into the binary |
|||
format that VisualStudio will consume) has the ability to run a preprocessor |
|||
on the vsct file; this preprocessor is (usually) the C++ preprocessor, so |
|||
it is possible to define includes and macros with the same syntax used |
|||
in C++ files. Using this ability of the compiler here, we include some files |
|||
defining some of the constants that we will use inside the file. --> |
|||
|
|||
<!--This is the file that defines the IDs for all the commands exposed by VisualStudio. --> |
|||
<Extern href="stdidcmd.h"/> |
|||
|
|||
<!--This header contains the command ids for the menus provided by the shell. --> |
|||
<Extern href="vsshlids.h"/> |
|||
|
|||
|
|||
<Include href="ILSpyAddIn.vsct" /> |
|||
|
|||
<!--The Commands section is where we the commands, menus and menu groups are defined. |
|||
This section uses a Guid to identify the package that provides the command defined inside it. --> |
|||
<Commands package="guidILSpyAddInPkg"> |
|||
<!-- Inside this section we have different sub-sections: one for the menus, another |
|||
for the menu groups, one for the buttons (the actual commands), one for the combos |
|||
and the last one for the bitmaps used. Each element is identified by a command id that |
|||
is a unique pair of guid and numeric identifier; the guid part of the identifier is usually |
|||
called "command set" and is used to group different command inside a logically related |
|||
group; your package should define its own command set in order to avoid collisions |
|||
with command ids defined by other packages. --> |
|||
|
|||
|
|||
<!--Buttons section. --> |
|||
<!--This section defines the elements the user can interact with, like a menu command or a button |
|||
or combo box in a toolbar. --> |
|||
<Buttons> |
|||
<!--To define a menu group you have to specify its ID, the parent menu and its display priority. |
|||
The command is visible and enabled by default. If you need to change the visibility, status, etc, you can use |
|||
the CommandFlag node. |
|||
You can add more than one CommandFlag node e.g.: |
|||
<CommandFlag>DefaultInvisible</CommandFlag> |
|||
<CommandFlag>DynamicVisibility</CommandFlag> |
|||
If you do not want an image next to your command, remove the Icon node /> --> |
|||
|
|||
<Button guid="guidILSpyAddInCmdSet" id="cmdidOpenReferenceInILSpy" priority="0x0600" type="Button"> |
|||
<Parent guid="guidILSpyAddInCmdSet" id="OpenILSpyRefGroup" /> |
|||
<Icon guid="guidImages" id="bmpLogo" /> |
|||
<CommandFlag>DynamicVisibility</CommandFlag> |
|||
<CommandFlag>DefaultInvisible</CommandFlag> |
|||
<Strings> |
|||
<ButtonText>Open in ILSpy</ButtonText> |
|||
</Strings> |
|||
</Button> |
|||
|
|||
<Button guid="guidILSpyAddInCmdSet" id="cmdidOpenProjectOutputInILSpy" priority="0x0600" type="Button"> |
|||
<Parent guid="guidILSpyAddInCmdSet" id="OpenILSpyProjGroup" /> |
|||
<Icon guid="guidImages" id="bmpLogo" /> |
|||
<CommandFlag>DynamicVisibility</CommandFlag> |
|||
<CommandFlag>DefaultInvisible</CommandFlag> |
|||
<Strings> |
|||
<ButtonText>Open output in ILSpy</ButtonText> |
|||
</Strings> |
|||
</Button> |
|||
|
|||
<Button guid="guidILSpyAddInCmdSet" id="cmdidOpenCodeItemInILSpy" priority="0x0600" type="Button"> |
|||
<Parent guid="guidILSpyAddInCmdSet" id="OpenILSpyCodeItemGroup" /> |
|||
<Icon guid="guidImages" id="bmpLogo" /> |
|||
<CommandFlag>DynamicVisibility</CommandFlag> |
|||
<CommandFlag>DefaultInvisible</CommandFlag> |
|||
<Strings> |
|||
<ButtonText>Open code in ILSpy</ButtonText> |
|||
</Strings> |
|||
</Button> |
|||
|
|||
<Button guid="guidILSpyAddInCmdSet" id="cmdidOpenILSpy" priority="0x0600" type="Button"> |
|||
<Parent guid="guidILSpyAddInCmdSet" id="OpenILSpyGroup" /> |
|||
<Icon guid="guidImages" id="bmpLogo" /> |
|||
<Strings> |
|||
<ButtonText>ILSpy</ButtonText> |
|||
</Strings> |
|||
</Button> |
|||
</Buttons> |
|||
</Commands> |
|||
</CommandTable> |
@ -0,0 +1,92 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<CommandTable xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable" xmlns:xs="http://www.w3.org/2001/XMLSchema"> |
|||
|
|||
<!-- This is the file that defines the actual layout and type of the commands. |
|||
It is divided in different sections (e.g. command definition, command |
|||
placement, ...), with each defining a specific set of properties. |
|||
See the comment before each section for more details about how to |
|||
use it. --> |
|||
|
|||
<!-- The VSCT compiler (the tool that translates this file into the binary |
|||
format that VisualStudio will consume) has the ability to run a preprocessor |
|||
on the vsct file; this preprocessor is (usually) the C++ preprocessor, so |
|||
it is possible to define includes and macros with the same syntax used |
|||
in C++ files. Using this ability of the compiler here, we include some files |
|||
defining some of the constants that we will use inside the file. --> |
|||
|
|||
<!--This is the file that defines the IDs for all the commands exposed by VisualStudio. --> |
|||
<Extern href="stdidcmd.h"/> |
|||
|
|||
<!--This header contains the command ids for the menus provided by the shell. --> |
|||
<Extern href="vsshlids.h"/> |
|||
|
|||
<Include href="ILSpyAddIn.vsct" /> |
|||
|
|||
|
|||
<!--The Commands section is where we the commands, menus and menu groups are defined. |
|||
This section uses a Guid to identify the package that provides the command defined inside it. --> |
|||
<Commands package="guidILSpyAddInPkg"> |
|||
<!-- Inside this section we have different sub-sections: one for the menus, another |
|||
for the menu groups, one for the buttons (the actual commands), one for the combos |
|||
and the last one for the bitmaps used. Each element is identified by a command id that |
|||
is a unique pair of guid and numeric identifier; the guid part of the identifier is usually |
|||
called "command set" and is used to group different command inside a logically related |
|||
group; your package should define its own command set in order to avoid collisions |
|||
with command ids defined by other packages. --> |
|||
|
|||
|
|||
<!--Buttons section. --> |
|||
<!--This section defines the elements the user can interact with, like a menu command or a button |
|||
or combo box in a toolbar. --> |
|||
<Buttons> |
|||
<!--To define a menu group you have to specify its ID, the parent menu and its display priority. |
|||
The command is visible and enabled by default. If you need to change the visibility, status, etc, you can use |
|||
the CommandFlag node. |
|||
You can add more than one CommandFlag node e.g.: |
|||
<CommandFlag>DefaultInvisible</CommandFlag> |
|||
<CommandFlag>DynamicVisibility</CommandFlag> |
|||
If you do not want an image next to your command, remove the Icon node /> --> |
|||
|
|||
<Button guid="guidILSpyAddInCmdSet" id="cmdidOpenReferenceInILSpy" priority="0x0600" type="Button"> |
|||
<Parent guid="guidILSpyAddInCmdSet" id="OpenILSpyRefGroup" /> |
|||
<Icon guid="guidImages" id="bmpLogo" /> |
|||
<CommandFlag>DynamicVisibility</CommandFlag> |
|||
<CommandFlag>DefaultInvisible</CommandFlag> |
|||
<Strings> |
|||
<ButtonText>用 ILSpy 打开</ButtonText> |
|||
</Strings> |
|||
</Button> |
|||
|
|||
<Button guid="guidILSpyAddInCmdSet" id="cmdidOpenProjectOutputInILSpy" priority="0x0600" type="Button"> |
|||
<Parent guid="guidILSpyAddInCmdSet" id="OpenILSpyProjGroup" /> |
|||
<Icon guid="guidImages" id="bmpLogo" /> |
|||
<CommandFlag>DynamicVisibility</CommandFlag> |
|||
<CommandFlag>DefaultInvisible</CommandFlag> |
|||
<Strings> |
|||
<ButtonText>用 ILSpy 打开输出</ButtonText> |
|||
</Strings> |
|||
</Button> |
|||
|
|||
<Button guid="guidILSpyAddInCmdSet" id="cmdidOpenCodeItemInILSpy" priority="0x0600" type="Button"> |
|||
<Parent guid="guidILSpyAddInCmdSet" id="OpenILSpyCodeItemGroup" /> |
|||
<Icon guid="guidImages" id="bmpLogo" /> |
|||
<CommandFlag>DynamicVisibility</CommandFlag> |
|||
<CommandFlag>DefaultInvisible</CommandFlag> |
|||
<Strings> |
|||
<ButtonText>用 ILSpy 打开代码</ButtonText> |
|||
</Strings> |
|||
</Button> |
|||
|
|||
<Button guid="guidILSpyAddInCmdSet" id="cmdidOpenILSpy" priority="0x0600" type="Button"> |
|||
<Parent guid="guidILSpyAddInCmdSet" id="OpenILSpyGroup" /> |
|||
<Icon guid="guidImages" id="bmpLogo" /> |
|||
<Strings> |
|||
<ButtonText>ILSpy</ButtonText> |
|||
</Strings> |
|||
</Button> |
|||
|
|||
</Buttons> |
|||
|
|||
</Commands> |
|||
|
|||
</CommandTable> |
After Width: 96 | Height: 16 | Size: 1.7 KiB |
Write
Preview
Loading…
Cancel
Save
Reference in new issue