mirror of https://github.com/icsharpcode/ILSpy.git
42 changed files with 698 additions and 63 deletions
@ -0,0 +1,55 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
||||||
|
<PropertyGroup> |
||||||
|
<MSBuildAllProjects Condition="'$(MSBuildVersion)' == '' Or '$(MSBuildVersion)' < '16.0'">$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> |
||||||
|
<HasSharedItems>true</HasSharedItems> |
||||||
|
<SharedGUID>acab1e5d-b3df-4092-aa72-692f8341e520</SharedGUID> |
||||||
|
</PropertyGroup> |
||||||
|
<PropertyGroup Label="Configuration"> |
||||||
|
<Import_RootNamespace>ILSpy.AddIn.Shared</Import_RootNamespace> |
||||||
|
</PropertyGroup> |
||||||
|
<ItemGroup> |
||||||
|
<Compile Include="$(MSBuildThisFileDirectory)AssemblyFileFinder.cs" /> |
||||||
|
<Compile Include="$(MSBuildThisFileDirectory)Commands\AssemblyReferenceForILSpy.cs" /> |
||||||
|
<Compile Include="$(MSBuildThisFileDirectory)Commands\NuGetReferenceForILSpy.cs" /> |
||||||
|
<Compile Include="$(MSBuildThisFileDirectory)Commands\OpenCodeItemCommand.cs" /> |
||||||
|
<Compile Include="$(MSBuildThisFileDirectory)Commands\OpenILSpyCommand.cs" /> |
||||||
|
<Compile Include="$(MSBuildThisFileDirectory)Commands\OpenProjectOutputCommand.cs" /> |
||||||
|
<Compile Include="$(MSBuildThisFileDirectory)Commands\OpenReferenceCommand.cs" /> |
||||||
|
<Compile Include="$(MSBuildThisFileDirectory)Commands\ProjectItemForILSpy.cs" /> |
||||||
|
<Compile Include="$(MSBuildThisFileDirectory)Commands\ProjectReferenceForILSpy.cs" /> |
||||||
|
<Compile Include="$(MSBuildThisFileDirectory)GlobalSuppressions.cs" /> |
||||||
|
<Compile Include="$(MSBuildThisFileDirectory)Guids.cs" /> |
||||||
|
<Compile Include="$(MSBuildThisFileDirectory)ILSpyAddInPackage.cs" /> |
||||||
|
<Compile Include="$(MSBuildThisFileDirectory)ILSpyInstance.cs" /> |
||||||
|
<Compile Include="$(MSBuildThisFileDirectory)PkgCmdID.cs" /> |
||||||
|
<Compile Include="$(MSBuildThisFileDirectory)Resources.Designer.cs"> |
||||||
|
<DependentUpon>Resources.resx</DependentUpon> |
||||||
|
<DesignTime>True</DesignTime> |
||||||
|
<AutoGen>True</AutoGen> |
||||||
|
</Compile> |
||||||
|
<Compile Include="$(MSBuildThisFileDirectory)SyntaxNodeExtensions.cs" /> |
||||||
|
<Compile Include="$(MSBuildThisFileDirectory)Utils.cs" /> |
||||||
|
</ItemGroup> |
||||||
|
<ItemGroup> |
||||||
|
<EmbeddedResource Include="$(MSBuildThisFileDirectory)Resources.resx"> |
||||||
|
<SubType>Designer</SubType> |
||||||
|
<LastGenOutput>Resources.Designer.cs</LastGenOutput> |
||||||
|
<Generator>ResXFileCodeGenerator</Generator> |
||||||
|
</EmbeddedResource> |
||||||
|
<EmbeddedResource Include="$(MSBuildThisFileDirectory)VSPackage.en-US.resx"> |
||||||
|
<DependentUpon>VSPackage.resx</DependentUpon> |
||||||
|
<LogicalName>VSPackage.en-US.resources</LogicalName> |
||||||
|
<MergeWithCTO>true</MergeWithCTO> |
||||||
|
</EmbeddedResource> |
||||||
|
<EmbeddedResource Include="$(MSBuildThisFileDirectory)VSPackage.resx"> |
||||||
|
<MergeWithCTO>true</MergeWithCTO> |
||||||
|
<ManifestResourceName>VSPackage</ManifestResourceName> |
||||||
|
</EmbeddedResource> |
||||||
|
<EmbeddedResource Include="$(MSBuildThisFileDirectory)VSPackage.zh-Hans.resx"> |
||||||
|
<DependentUpon>VSPackage.resx</DependentUpon> |
||||||
|
<LogicalName>VSPackage.zh-Hans.resources</LogicalName> |
||||||
|
<MergeWithCTO>true</MergeWithCTO> |
||||||
|
</EmbeddedResource> |
||||||
|
</ItemGroup> |
||||||
|
</Project> |
@ -0,0 +1,13 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
||||||
|
<PropertyGroup Label="Globals"> |
||||||
|
<ProjectGuid>acab1e5d-b3df-4092-aa72-692f8341e520</ProjectGuid> |
||||||
|
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion> |
||||||
|
</PropertyGroup> |
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> |
||||||
|
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.Default.props" /> |
||||||
|
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.props" /> |
||||||
|
<PropertyGroup /> |
||||||
|
<Import Project="ILSpy.AddIn.Shared.projitems" Label="Shared" /> |
||||||
|
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.CSharp.targets" /> |
||||||
|
</Project> |
@ -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(); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
After Width: | Height: | Size: 58 KiB |
@ -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;VS2022</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,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,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,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> |
Binary file not shown.
@ -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) |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 18 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 2022</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.VS2022" Path="|ILSpy.AddIn.VS2022|"/> |
||||||
|
</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> |
Loading…
Reference in new issue