mirror of
https://github.com/icsharpcode/ILSpy.git
synced 2026-10-12 02:15:58 +00:00
Migrate the VS extension to an SDK-style VSIX (dotnet build) and retire the VS2017/2019 add-in (#3808)
* Migrate ILSpy.AddIn.VS2022 to SDK-style VSIX project * Retire the legacy VS2017/2019 ILSpy add-in * Build the VS extension via dotnet build on the slnx * Inline ILSpy.AddIn.Shared into ILSpy.AddIn.VS2022 * Restore the VS add-in menus broken by the SDK-style migration
This commit is contained in:
@@ -144,11 +144,9 @@ jobs:
|
||||
dotnet msbuild ILSpy.Installer.sln /p:Configuration="Release" /p:Platform="Any CPU"
|
||||
dotnet msbuild ILSpy.Installer.sln /p:Configuration="Release" /p:Platform="Any CPU" /p:PlatformForInstaller="ARM64"
|
||||
|
||||
- name: Build VS Extensions (for 2017-2019 and 2022)
|
||||
- name: Build VS Extension (for VS 2022)
|
||||
if: matrix.configuration == 'release' && env.BuildAndPublishVsix == 'true'
|
||||
run: |
|
||||
msbuild ILSpy.VSExtensions.sln /t:Restore /p:Configuration="Release" /p:Platform="Any CPU"
|
||||
msbuild ILSpy.VSExtensions.sln /p:Configuration="Release" /p:Platform="Any CPU"
|
||||
run: dotnet build ILSpy.VSExtensions.slnx -c Release
|
||||
|
||||
- name: Verify package contents
|
||||
if: matrix.configuration == 'debug'
|
||||
@@ -157,14 +155,6 @@ jobs:
|
||||
git diff --exit-code
|
||||
|
||||
# https://github.com/actions/upload-artifact
|
||||
- name: Upload VSIX (VS 2019) release build artifacts
|
||||
if: matrix.configuration == 'release' && env.BuildAndPublishVsix == 'true'
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: ILSpy VS Addin for VS 2017-2019 ${{ steps.version.outputs.ILSPY_VERSION_NUMBER }} (${{ matrix.configuration }})
|
||||
path: ILSpy.AddIn\bin\${{ matrix.configuration }}\net472\*.vsix
|
||||
if-no-files-found: error
|
||||
|
||||
- name: Upload VSIX (VS 2022) release build artifacts
|
||||
if: matrix.configuration == 'release' && env.BuildAndPublishVsix == 'true'
|
||||
uses: actions/upload-artifact@v7
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
[Content_Types].xml
|
||||
catalog.json
|
||||
en-US\ILSpy.AddIn.resources.dll
|
||||
Esent.Interop.dll
|
||||
extension.vsixmanifest
|
||||
ILSpy-Large.ico
|
||||
ILSpy.AddIn.dll
|
||||
ILSpy.AddIn.pkgdef
|
||||
LICENSE
|
||||
manifest.json
|
||||
Microsoft.VisualStudio.DpiAwareness.dll
|
||||
Mono.Cecil.dll
|
||||
Mono.Cecil.Mdb.dll
|
||||
Mono.Cecil.Pdb.dll
|
||||
Mono.Cecil.Rocks.dll
|
||||
System.Text.Encoding.CodePages.dll
|
||||
x64\ILSpy\av_libglesv2.dll
|
||||
x64\ILSpy\Avalonia.Base.dll
|
||||
x64\ILSpy\Avalonia.Controls.DataGrid.dll
|
||||
x64\ILSpy\Avalonia.Controls.dll
|
||||
x64\ILSpy\Avalonia.DesignerSupport.dll
|
||||
x64\ILSpy\Avalonia.Desktop.dll
|
||||
x64\ILSpy\Avalonia.Dialogs.dll
|
||||
x64\ILSpy\Avalonia.dll
|
||||
x64\ILSpy\Avalonia.FreeDesktop.AtSpi.dll
|
||||
x64\ILSpy\Avalonia.FreeDesktop.dll
|
||||
x64\ILSpy\Avalonia.HarfBuzz.dll
|
||||
x64\ILSpy\Avalonia.Markup.dll
|
||||
x64\ILSpy\Avalonia.Markup.Xaml.dll
|
||||
x64\ILSpy\Avalonia.Metal.dll
|
||||
x64\ILSpy\Avalonia.MicroCom.dll
|
||||
x64\ILSpy\Avalonia.Native.dll
|
||||
x64\ILSpy\Avalonia.OpenGL.dll
|
||||
x64\ILSpy\Avalonia.Remote.Protocol.dll
|
||||
x64\ILSpy\Avalonia.Skia.dll
|
||||
x64\ILSpy\Avalonia.Themes.Simple.dll
|
||||
x64\ILSpy\Avalonia.Vulkan.dll
|
||||
x64\ILSpy\Avalonia.Win32.Automation.dll
|
||||
x64\ILSpy\Avalonia.Win32.dll
|
||||
x64\ILSpy\Avalonia.X11.dll
|
||||
x64\ILSpy\AvaloniaEdit.dll
|
||||
x64\ILSpy\AvaloniaEdit.TextMate.dll
|
||||
x64\ILSpy\AvaloniaUI.DiagnosticsSupport.Avalonia.dll
|
||||
x64\ILSpy\CommunityToolkit.Mvvm.dll
|
||||
x64\ILSpy\Dock.Avalonia.dll
|
||||
x64\ILSpy\Dock.Avalonia.Themes.Simple.dll
|
||||
x64\ILSpy\Dock.Controls.DeferredContentControl.dll
|
||||
x64\ILSpy\Dock.Controls.ProportionalStackPanel.dll
|
||||
x64\ILSpy\Dock.Controls.Recycling.dll
|
||||
x64\ILSpy\Dock.Controls.Recycling.Model.dll
|
||||
x64\ILSpy\Dock.MarkupExtension.dll
|
||||
x64\ILSpy\Dock.Model.dll
|
||||
x64\ILSpy\Dock.Model.Mvvm.dll
|
||||
x64\ILSpy\Dock.Serializer.SystemTextJson.dll
|
||||
x64\ILSpy\Dock.Settings.dll
|
||||
x64\ILSpy\ExCSS.dll
|
||||
x64\ILSpy\HarfBuzzSharp.dll
|
||||
x64\ILSpy\Iced.dll
|
||||
x64\ILSpy\ICSharpCode.BamlDecompiler.dll
|
||||
x64\ILSpy\ICSharpCode.Decompiler.dll
|
||||
x64\ILSpy\ICSharpCode.ILSpyX.dll
|
||||
x64\ILSpy\ILCompiler.Reflection.ReadyToRun.dll
|
||||
x64\ILSpy\ILSpy.deps.json
|
||||
x64\ILSpy\ILSpy.dll
|
||||
x64\ILSpy\ILSpy.exe
|
||||
x64\ILSpy\ILSpy.ReadyToRun.Plugin.deps.json
|
||||
x64\ILSpy\ILSpy.ReadyToRun.Plugin.dll
|
||||
x64\ILSpy\ILSpy.runtimeconfig.json
|
||||
x64\ILSpy\K4os.Compression.LZ4.dll
|
||||
x64\ILSpy\libHarfBuzzSharp.dll
|
||||
x64\ILSpy\libonigwrap.dll
|
||||
x64\ILSpy\libSkiaSharp.dll
|
||||
x64\ILSpy\McMaster.Extensions.CommandLineUtils.dll
|
||||
x64\ILSpy\MicroCom.Runtime.dll
|
||||
x64\ILSpy\Microsoft.DiaSymReader.Converter.Xml.dll
|
||||
x64\ILSpy\Microsoft.DiaSymReader.dll
|
||||
x64\ILSpy\Microsoft.DiaSymReader.Native.amd64.dll
|
||||
x64\ILSpy\Microsoft.DiaSymReader.PortablePdb.dll
|
||||
x64\ILSpy\Microsoft.Extensions.DependencyInjection.Abstractions.dll
|
||||
x64\ILSpy\Microsoft.Extensions.Logging.Abstractions.dll
|
||||
x64\ILSpy\Microsoft.IO.RecyclableMemoryStream.dll
|
||||
x64\ILSpy\Mono.Cecil.dll
|
||||
x64\ILSpy\Mono.Cecil.Mdb.dll
|
||||
x64\ILSpy\Mono.Cecil.Pdb.dll
|
||||
x64\ILSpy\Mono.Cecil.Rocks.dll
|
||||
x64\ILSpy\Onigwrap.dll
|
||||
x64\ILSpy\ProDataGrid.FormulaEngine.dll
|
||||
x64\ILSpy\ProDataGrid.FormulaEngine.Excel.dll
|
||||
x64\ILSpy\ShimSkiaSharp.dll
|
||||
x64\ILSpy\SkiaSharp.dll
|
||||
x64\ILSpy\Svg.Animation.dll
|
||||
x64\ILSpy\Svg.Controls.Skia.Avalonia.dll
|
||||
x64\ILSpy\Svg.Custom.dll
|
||||
x64\ILSpy\Svg.Model.dll
|
||||
x64\ILSpy\Svg.SceneGraph.dll
|
||||
x64\ILSpy\Svg.Skia.dll
|
||||
x64\ILSpy\System.Composition.AttributedModel.dll
|
||||
x64\ILSpy\System.Composition.Hosting.dll
|
||||
x64\ILSpy\System.Composition.Runtime.dll
|
||||
x64\ILSpy\System.Composition.TypedParts.dll
|
||||
x64\ILSpy\System.Formats.Nrbf.dll
|
||||
x64\ILSpy\TextMateSharp.dll
|
||||
x64\ILSpy\TextMateSharp.Grammars.dll
|
||||
x64\ILSpy\Tmds.DBus.Protocol.dll
|
||||
x64\ILSpy\Xaml.Behaviors.Interactions.Custom.dll
|
||||
x64\ILSpy\Xaml.Behaviors.Interactions.dll
|
||||
x64\ILSpy\Xaml.Behaviors.Interactions.DragAndDrop.dll
|
||||
x64\ILSpy\Xaml.Behaviors.Interactions.Draggable.dll
|
||||
x64\ILSpy\Xaml.Behaviors.Interactions.Events.dll
|
||||
x64\ILSpy\Xaml.Behaviors.Interactions.Responsive.dll
|
||||
x64\ILSpy\Xaml.Behaviors.Interactivity.dll
|
||||
@@ -99,7 +99,6 @@ function gitBranch() {
|
||||
|
||||
$templateFiles = (
|
||||
@{Input=$decompilerVersionInfoTemplateFile; Output="ICSharpCode.Decompiler/Properties/DecompilerVersionInfo.cs"},
|
||||
@{Input="ILSpy.AddIn/source.extension.vsixmanifest.template"; Output = "ILSpy.AddIn/source.extension.vsixmanifest"},
|
||||
@{Input="ILSpy.AddIn.VS2022/source.extension.vsixmanifest.template"; Output = "ILSpy.AddIn.VS2022/source.extension.vsixmanifest"}
|
||||
);
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ Windows-only frontends, packaging, and tests:
|
||||
- `ILSpy.Installer/` — WiX installer (`net472`)
|
||||
- `ILSpy.BamlDecompiler.Tests/` — BAML-decompiler tests, still WPF/Windows-bound (`net11.0-windows`)
|
||||
|
||||
Solutions & filters: `ILSpy.sln` builds everything; `ILSpy.XPlat.slnf` is the decompiler libs + `ilspycmd` + their tests (no UI — the Linux CI target); `ILSpy.Desktop.slnf` is the UI plus its dependencies and tests; `ILSpy.Installer.sln` / `ILSpy.VSExtensions.sln` cover the legacy packaging.
|
||||
Solutions & filters: `ILSpy.sln` builds everything; `ILSpy.XPlat.slnf` is the decompiler libs + `ilspycmd` + their tests (no UI — the Linux CI target); `ILSpy.Desktop.slnf` is the UI plus its dependencies and tests; `ILSpy.Installer.sln` covers the legacy packaging, and `ILSpy.VSExtensions.slnx` the VS 2022 extension (`dotnet build`-able).
|
||||
|
||||
## ILSpy-tests submodule
|
||||
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
<?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>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,13 +0,0 @@
|
||||
<?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>
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<Import Sdk="Microsoft.NET.Sdk" Project="Sdk.props" />
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net472</TargetFramework>
|
||||
@@ -24,8 +23,24 @@
|
||||
MSB3277;<!-- this is due to Visual Studio package references weirdness, see https://github.com/dotnet/roslyn/discussions/49787 -->
|
||||
VSSDK1009
|
||||
</NoWarn>
|
||||
|
||||
<!-- SDK-style VSIX: VSSDKBuildToolsAutoSetup wires up the VSIX targets so the package
|
||||
builds with plain dotnet build instead of full msbuild + the legacy Microsoft.VsSDK.targets. -->
|
||||
<VSSDKBuildToolsAutoSetup>true</VSSDKBuildToolsAutoSetup>
|
||||
<VsixDeployOnDebug>true</VsixDeployOnDebug>
|
||||
<GeneratePkgDefFile>true</GeneratePkgDefFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectCapability Include="CreateVsixContainer" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- MenuCommandService (used by the shared command classes) lives in System.Design, which the
|
||||
SDK does not reference by default for net472; full msbuild used to supply it implicitly. -->
|
||||
<Reference Include="System.Design" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
|
||||
<DebugType>full</DebugType>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
@@ -41,13 +56,12 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.VisualStudio.SDK" Version="17.0.31902.203" />
|
||||
<PackageReference Include="Microsoft.VisualStudio.SDK" Version="17.0.31902.203" ExcludeAssets="runtime" />
|
||||
<PackageReference Include="Microsoft.CodeAnalysis" Version="4.0.1" />
|
||||
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.0.1" />
|
||||
<PackageReference Include="Microsoft.VisualStudio.LanguageServices" Version="4.0.1" />
|
||||
<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="17.6.2164">
|
||||
<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="18.5.40034">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Mono.Cecil" Version="0.11.5" />
|
||||
</ItemGroup>
|
||||
@@ -74,6 +88,48 @@
|
||||
<Compile Include="..\ICSharpCode.Decompiler\Util\EmptyList.cs" Link="Decompiler\EmptyList.cs" />
|
||||
<Compile Include="Decompiler\Dummy.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="AssemblyFileFinder.cs" />
|
||||
<Compile Include="Commands\AssemblyReferenceForILSpy.cs" />
|
||||
<Compile Include="Commands\NuGetReferenceForILSpy.cs" />
|
||||
<Compile Include="Commands\OpenCodeItemCommand.cs" />
|
||||
<Compile Include="Commands\OpenILSpyCommand.cs" />
|
||||
<Compile Include="Commands\OpenProjectOutputCommand.cs" />
|
||||
<Compile Include="Commands\OpenReferenceCommand.cs" />
|
||||
<Compile Include="Commands\ProjectItemForILSpy.cs" />
|
||||
<Compile Include="Commands\ProjectReferenceForILSpy.cs" />
|
||||
<Compile Include="GlobalSuppressions.cs" />
|
||||
<Compile Include="Guids.cs" />
|
||||
<Compile Include="ILSpyAddInPackage.cs" />
|
||||
<Compile Include="ILSpyInstance.cs" />
|
||||
<Compile Include="PkgCmdID.cs" />
|
||||
<Compile Include="SyntaxNodeExtensions.cs" />
|
||||
<Compile Include="Utils.cs" />
|
||||
<Compile Include="Resources.Designer.cs">
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
<AutoGen>True</AutoGen>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Resources.resx">
|
||||
<SubType>Designer</SubType>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
</EmbeddedResource>
|
||||
<!-- ProvideMenuResource("Menus.ctmenu", 1) makes VS load the menu table from the "Menus.ctmenu"
|
||||
entry of the package's VSPackage.resources stream, so the compiled .vsct must be merged into
|
||||
it. MergeWithCTO uses the classic resource reader/writer, which only works when VSPackage.resx
|
||||
stays string-only; that is why the package icon is not stored here (see ILSpyAddInPackage). -->
|
||||
<EmbeddedResource Include="VSPackage.en-US.resx">
|
||||
<DependentUpon>VSPackage.resx</DependentUpon>
|
||||
<LogicalName>VSPackage.en-US.resources</LogicalName>
|
||||
<MergeWithCTO>true</MergeWithCTO>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="VSPackage.resx">
|
||||
<ManifestResourceName>VSPackage</ManifestResourceName>
|
||||
<MergeWithCTO>true</MergeWithCTO>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
@@ -102,7 +158,6 @@
|
||||
<IncludeInVSIX>true</IncludeInVSIX>
|
||||
</Content>
|
||||
<Content Include="Resources\Images.png" />
|
||||
<Content Include="Resources\Package.ico" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@@ -146,18 +201,6 @@
|
||||
<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>
|
||||
|
||||
@@ -36,7 +36,7 @@ namespace ICSharpCode.ILSpy.AddIn
|
||||
[PackageRegistration(UseManagedResourcesOnly = true, AllowsBackgroundLoading = true)]
|
||||
// This attribute is used to register the information needed to show this package
|
||||
// in the Help/About dialog of Visual Studio.
|
||||
[InstalledProductRegistration("#110", "#112", "1.0", IconResourceID = 400)]
|
||||
[InstalledProductRegistration("#110", "#112", "1.0")]
|
||||
// This attribute is needed to let the shell know that this package exposes some menus.
|
||||
[ProvideMenuResource("Menus.ctmenu", 1)]
|
||||
[Guid(GuidList.guidILSpyAddInPkgString)]
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 18 KiB |
@@ -127,14 +127,10 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="110" xml:space="preserve">
|
||||
<value>ILSpy.AddIn</value>
|
||||
</data>
|
||||
<data name="112" xml:space="preserve">
|
||||
<value>Integration of the ILSpy Decompiler into Visual Studio.</value>
|
||||
</data>
|
||||
<data name="400" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\ILSpy.AddIn\Resources\Package.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -21,15 +21,6 @@
|
||||
"Microsoft.CodeAnalysis.Common": "[4.0.1]"
|
||||
}
|
||||
},
|
||||
"Microsoft.NETFramework.ReferenceAssemblies": {
|
||||
"type": "Direct",
|
||||
"requested": "[1.0.3, )",
|
||||
"resolved": "1.0.3",
|
||||
"contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETFramework.ReferenceAssemblies.net472": "1.0.3"
|
||||
}
|
||||
},
|
||||
"Microsoft.VisualStudio.LanguageServices": {
|
||||
"type": "Direct",
|
||||
"requested": "[4.0.1, )",
|
||||
@@ -118,12 +109,12 @@
|
||||
},
|
||||
"Microsoft.VSSDK.BuildTools": {
|
||||
"type": "Direct",
|
||||
"requested": "[17.6.2164, )",
|
||||
"resolved": "17.6.2164",
|
||||
"contentHash": "SIyMfFGhGfJ4NLgbwW157ylbR0OCZJrxy7ge+jX14Fmhedj+SLQG9duqc0FRnIvMq4e1EmLNEAHE2wvXu1h+/w==",
|
||||
"requested": "[18.5.40034, )",
|
||||
"resolved": "18.5.40034",
|
||||
"contentHash": "5g0HSWvzIunNqTlaHPRBnKo/zix5omWXBrJzLyrbJS9c7Xkpd34QMqVOk6WTqgt7yHqpGj4ajnBx82zGABdSew==",
|
||||
"dependencies": {
|
||||
"Microsoft.VisualStudio.SDK.Analyzers": "16.10.10",
|
||||
"Microsoft.VsSDK.CompatibilityAnalyzer": "17.6.2164"
|
||||
"Microsoft.VisualStudio.SDK.Analyzers": "17.7.105",
|
||||
"Microsoft.VsSDK.CompatibilityAnalyzer": "18.3.1108"
|
||||
}
|
||||
},
|
||||
"Mono.Cecil": {
|
||||
@@ -226,11 +217,6 @@
|
||||
"resolved": "3.3.0",
|
||||
"contentHash": "gyQ70pJ4T7hu/s0+QnEaXtYfeG/JrttGnxHJlrhpxsQjRIUGuRhVwNBtkHHYOrUAZ/l47L98/NiJX6QmTwAyrg=="
|
||||
},
|
||||
"Microsoft.CodeAnalysis.BannedApiAnalyzers": {
|
||||
"type": "Transitive",
|
||||
"resolved": "3.3.2",
|
||||
"contentHash": "LlcsDRSYfkJFWOdDpysY/4Ph4llHc8DLOc3roFTz9+216vl+vwVGfbys2rcSmhZCTDv/0kxSs2oOdd9SX2NiVg=="
|
||||
},
|
||||
"Microsoft.CodeAnalysis.Common": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.0.1",
|
||||
@@ -341,11 +327,6 @@
|
||||
"resolved": "1.1.3",
|
||||
"contentHash": "3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ=="
|
||||
},
|
||||
"Microsoft.NETFramework.ReferenceAssemblies.net472": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.0.3",
|
||||
"contentHash": "0E7evZXHXaDYYiLRfpyXvCh+yzM2rNTyuZDI+ZO7UUqSc6GfjePiXTdqJGtgIKUwdI81tzQKmaWprnUiPj9hAw=="
|
||||
},
|
||||
"Microsoft.ServiceHub.Analyzers": {
|
||||
"type": "Transitive",
|
||||
"resolved": "3.0.3078",
|
||||
@@ -663,12 +644,8 @@
|
||||
},
|
||||
"Microsoft.VisualStudio.SDK.Analyzers": {
|
||||
"type": "Transitive",
|
||||
"resolved": "16.10.10",
|
||||
"contentHash": "LuhBHy7MJJ5SjpS7J2GuHqPyL1VeqXUwYc+mTagaUCzXbNwJmLcSUAioCyQyAzPIn6qtnzuM5Lz6ULOQS3ifUA==",
|
||||
"dependencies": {
|
||||
"Microsoft.CodeAnalysis.BannedApiAnalyzers": "3.3.2",
|
||||
"Microsoft.VisualStudio.Threading.Analyzers": "16.10.56"
|
||||
}
|
||||
"resolved": "17.7.105",
|
||||
"contentHash": "pQK/THPoNjzmfVGnjdP/13nR3bZViUwu4CsjPAFFvg2xMc6xhVcgprgKwrSDakTkd92n57iCy+AC58ZKKuoaKw=="
|
||||
},
|
||||
"Microsoft.VisualStudio.Setup.Configuration.Interop": {
|
||||
"type": "Transitive",
|
||||
@@ -992,8 +969,8 @@
|
||||
},
|
||||
"Microsoft.VsSDK.CompatibilityAnalyzer": {
|
||||
"type": "Transitive",
|
||||
"resolved": "17.6.2164",
|
||||
"contentHash": "9BqGG+sMd6SAHz5DutKyMj8s/pmZwA8L6+dluoYZarRlNb5+1uv7vwREnJ3Wtisj6wNpLxrJn4ueE7LAsOPLLw=="
|
||||
"resolved": "18.3.1108",
|
||||
"contentHash": "ol/XAbRAkpZmpswNL1pV+Ey2dqcEZNe1tYT74lkD/+ow5r0rqC0XLq72rVyiz4w/oCIN+480PO1xO+7/4hrqKw=="
|
||||
},
|
||||
"Microsoft.Win32.Primitives": {
|
||||
"type": "Transitive",
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
// 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 58 KiB |
@@ -1,167 +0,0 @@
|
||||
<?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>
|
||||
<!-- Legacy net472 add-in: opt out of the repo-wide warnings-as-errors (Directory.Build.props). -->
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
|
||||
<EnableDefaultItems>False</EnableDefaultItems>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<DefineConstants>TRACE;VSADDIN</DefineConstants>
|
||||
|
||||
<SignAssembly>True</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>Key.snk</AssemblyOriginatorKeyFile>
|
||||
<NoWarn>
|
||||
MSB3277;<!-- this is due to Visual Studio package references weirdness, see https://github.com/dotnet/roslyn/discussions/49787 -->
|
||||
VSSDK1009
|
||||
</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
|
||||
<DebugType>full</DebugType>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Design" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.VisualStudio.SDK" Version="15.0.1" />
|
||||
<!-- 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.6.2164">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Mono.Cecil" Version="0.11.5" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="TunnelVisionLabs.ReferenceAssemblyAnnotator" Version="1.0.0-alpha.160" PrivateAssets="all" />
|
||||
|
||||
<!-- Specifies the version of Microsoft.NETCore.App.Ref to obtain nullability information from. -->
|
||||
<PackageDownload Include="Microsoft.NETCore.App.Ref" Version="[8.0.0]" />
|
||||
</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="Decompiler\Dummy.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<ILSpyBuildPath>..\ILSpy\bin\$(Configuration)\net10.0\win-x64\publish\fwdependent\</ILSpyBuildPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="IncludeILSpyDistributionInVSIXSubFolder" AfterTargets="ResolveProjectReferences">
|
||||
<ItemGroup>
|
||||
<VSIXSourceItem Include="$(ILSpyBuildPath)*.dll;$(ILSpyBuildPath)ILSpy.exe;$(ILSpyBuildPath)*.json">
|
||||
<VSIXSubPath>\x64\ILSpy</VSIXSubPath>
|
||||
</VSIXSourceItem>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="$(OutputPath)Mono.Cecil.dll">
|
||||
<IncludeInVSIX>true</IncludeInVSIX>
|
||||
<VSIXSubPath>\</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="source.extension.vsixmanifest.template" />
|
||||
<None Include="source.extension.vsixmanifest">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<VSCTCompile Include="ILSpyAddIn.en-US.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="..\LICENSE" 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 2017/2019</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>
|
||||
@@ -1,89 +0,0 @@
|
||||
<?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>
|
||||
@@ -1,109 +0,0 @@
|
||||
<?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="{a9120dbe-164a-4891-842f-fb7829273838}" />
|
||||
|
||||
<!-- 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>
|
||||
Binary file not shown.
@@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<clear />
|
||||
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
|
||||
</packageSources>
|
||||
<packageSourceMapping>
|
||||
<clear />
|
||||
<packageSource key="nuget.org">
|
||||
<package pattern="*" />
|
||||
</packageSource>
|
||||
</packageSourceMapping>
|
||||
</configuration>
|
||||
@@ -1,17 +0,0 @@
|
||||
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")]
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"profiles": {
|
||||
"Visual Studio Extension": {
|
||||
"executablePath": "$(DevEnvDir)devenv.exe",
|
||||
"commandLineArgs": "/rootsuffix $(VSSDKTargetPlatformRegRootSuffix) /log"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
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)
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.7 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 18 KiB |
File diff suppressed because it is too large
Load Diff
@@ -1,24 +0,0 @@
|
||||
<?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="a9120dbe-164a-4891-842f-fb7829273838" 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://github.com/icsharpcode/ILSpy/</MoreInfo>
|
||||
<License>LICENSE</License>
|
||||
<Icon>ILSpy-Large.ico</Icon>
|
||||
</Metadata>
|
||||
<Installation>
|
||||
<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[15.0,17.0)" />
|
||||
</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" Path="|ILSpy.AddIn|"/>
|
||||
</Assets>
|
||||
<Prerequisites>
|
||||
<Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[15.0,)" DisplayName="Visual Studio core editor" />
|
||||
<Prerequisite Id="Microsoft.VisualStudio.Component.Roslyn.LanguageServices" Version="[15.0,)" DisplayName="Roslyn Language Services" />
|
||||
</Prerequisites>
|
||||
</PackageManifest>
|
||||
@@ -1,38 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.7.33808.371
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
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", "ILSpy.AddIn\ILSpy.AddIn.csproj", "{A1B6B501-15D4-4237-A4C3-5EFCB71B0F74}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILSpy.AddIn.VS2022", "ILSpy.AddIn.VS2022\ILSpy.AddIn.VS2022.csproj", "{31E6E2B0-24B4-4D2C-AC17-3B44DAACC9D4}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{A1B6B501-15D4-4237-A4C3-5EFCB71B0F74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A1B6B501-15D4-4237-A4C3-5EFCB71B0F74}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A1B6B501-15D4-4237-A4C3-5EFCB71B0F74}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A1B6B501-15D4-4237-A4C3-5EFCB71B0F74}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{31E6E2B0-24B4-4D2C-AC17-3B44DAACC9D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{31E6E2B0-24B4-4D2C-AC17-3B44DAACC9D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{31E6E2B0-24B4-4D2C-AC17-3B44DAACC9D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{31E6E2B0-24B4-4D2C-AC17-3B44DAACC9D4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {84D734FE-9E9C-4593-8927-6F45FE3E460A}
|
||||
EndGlobalSection
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
ILSpy.AddIn.Shared\ILSpy.AddIn.Shared.projitems*{31e6e2b0-24b4-4d2c-ac17-3b44daacc9d4}*SharedItemsImports = 5
|
||||
ILSpy.AddIn.Shared\ILSpy.AddIn.Shared.projitems*{a1b6b501-15d4-4237-a4c3-5efcb71b0f74}*SharedItemsImports = 5
|
||||
ILSpy.AddIn.Shared\ILSpy.AddIn.Shared.projitems*{acab1e5d-b3df-4092-aa72-692f8341e520}*SharedItemsImports = 13
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,5 @@
|
||||
<Solution>
|
||||
<Project Path="ILSpy.AddIn.VS2022/ILSpy.AddIn.VS2022.csproj">
|
||||
<Deploy Solution="Debug|Any CPU" />
|
||||
</Project>
|
||||
</Solution>
|
||||
@@ -101,6 +101,7 @@ namespace ICSharpCode.ILSpy.Commands
|
||||
var output = new AvaloniaEditTextOutput { Title = Resources.About };
|
||||
output.WriteLine(Resources.ILSpyVersion + DecompilerVersionInfo.FullVersionWithCommitHash);
|
||||
output.WriteLine(Resources.NETFrameworkVersion + GetDotnetProductVersion());
|
||||
output.WriteLine(Resources.ILSpyStartedFrom + GetStartupPath());
|
||||
output.WriteLine();
|
||||
output.AddUIElement(BuildUpdateSection);
|
||||
output.WriteLine();
|
||||
@@ -224,6 +225,17 @@ namespace ICSharpCode.ILSpy.Commands
|
||||
return typeof(object).Assembly.GetName().Version?.ToString() ?? "UNKNOWN";
|
||||
}
|
||||
|
||||
static string GetStartupPath()
|
||||
{
|
||||
// The full path of the executable that launched this process (ilspy.exe). On the rare
|
||||
// host where Environment.ProcessPath is unavailable, fall back to the application's base
|
||||
// directory (the folder ILSpy's binaries were published to).
|
||||
var processPath = Environment.ProcessPath;
|
||||
if (!string.IsNullOrWhiteSpace(processPath))
|
||||
return processPath;
|
||||
return AppContext.BaseDirectory;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -199,7 +199,6 @@
|
||||
|
||||
<ItemGroup>
|
||||
<SortResXInput Include="Properties\*.resx" />
|
||||
<SortResXInput Include="..\ILSpy.AddIn\*.resx" />
|
||||
<SortResXInput Include="..\ILSpy.ReadyToRun\Properties\*.resx" />
|
||||
<SortResXStamp Include="obj\sort-resx.stamp" />
|
||||
</ItemGroup>
|
||||
|
||||
Generated
+9
@@ -2046,6 +2046,15 @@ namespace ICSharpCode.ILSpy.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to ILSpy started from .
|
||||
/// </summary>
|
||||
public static string ILSpyStartedFrom {
|
||||
get {
|
||||
return ResourceManager.GetString("ILSpyStartedFrom", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to ILSpy version .
|
||||
/// </summary>
|
||||
|
||||
@@ -708,6 +708,9 @@ Are you sure you want to continue?</value>
|
||||
<data name="ILSpyAboutPageTxt" xml:space="preserve">
|
||||
<value>ILSpyAboutPage.txt</value>
|
||||
</data>
|
||||
<data name="ILSpyStartedFrom" xml:space="preserve">
|
||||
<value>ILSpy started from </value>
|
||||
</data>
|
||||
<data name="ILSpyVersion" xml:space="preserve">
|
||||
<value>ILSpy version </value>
|
||||
</data>
|
||||
|
||||
@@ -49,7 +49,7 @@ How to build
|
||||
- Execute `git submodule update --init --recursive` to download the ILSpy-Tests submodule (used by some test cases).
|
||||
- Install Visual Studio (documented version: 18.0/2026). You need the following workload components:
|
||||
- Workload ".NET Desktop Development". This workload includes the .NET Framework 4.8 SDK and the .NET Framework 4.7.2 targeting pack, as well as the [.NET 10.0 SDK](https://dotnet.microsoft.com/download/dotnet/10.0) (ILSpy.csproj targets .NET 10.0, but we have net472 projects too). Our unit tests require [.NET 11.0 SDK](https://dotnet.microsoft.com/download/dotnet/11.0).
|
||||
- Workload "Visual Studio extension development" (Note: ILSpy.VSExtensions.sln is separate from ILSpy.sln and thus this workload is optional)
|
||||
- Workload "Visual Studio extension development" (Note: ILSpy.VSExtensions.slnx is separate from ILSpy.sln and thus this workload is optional)
|
||||
- Individual Component "MSVC v143 - VS 2022 C++ x64/x86 build tools" (or similar)
|
||||
- _The VC++ toolset is optional_; if present it is used for `editbin.exe` to modify the stack size used by ILSpy.exe from 1MB to 16MB, because the decompiler makes heavy use of recursion, where small stack sizes lead to problems in very complex methods.
|
||||
- Open ILSpy.sln in Visual Studio.
|
||||
@@ -59,7 +59,7 @@ How to build
|
||||
- If you are only interested in a specific subset of ILSpy, you can also use
|
||||
- ILSpy.Desktop.slnf: for the cross-platform Avalonia UI and its tests
|
||||
- ILSpy.XPlat.slnf: for the cross-platform CLI (ilspycmd) or PowerShell cmdlets
|
||||
- ILSpy.VSExtensions.sln: for the Visual Studio extensions
|
||||
- ILSpy.VSExtensions.slnx: for the Visual Studio extensions
|
||||
|
||||
**Note:** Visual Studio includes a version of the .NET SDK that is managed by the Visual Studio installer - once you update, it may get upgraded too.
|
||||
Please note that ILSpy is only compatible with the .NET 11.0 SDK and Visual Studio will refuse to load some projects in the solution (and unit tests will fail).
|
||||
|
||||
+10
-6
@@ -1,11 +1,15 @@
|
||||
# For local development of the VSIX package - build and publish (VS2022 also needs arm64)
|
||||
|
||||
$output_x64 = "./ILSpy/bin/Release/net10.0/win-x64/publish/fwdependent"
|
||||
$configuration = "Debug"
|
||||
|
||||
dotnet publish ./ILSpy/ILSpy.csproj -c Release --no-restore --no-self-contained -r win-x64 -o $output_x64
|
||||
dotnet publish ./ILSpy.ReadyToRun/ILSpy.ReadyToRun.csproj -c Release --no-restore --no-self-contained -r win-x64 -o $output_x64
|
||||
dotnet build ./ILSpy.sln -c $configuration
|
||||
|
||||
$output_arm64 = "./ILSpy/bin/Release/net10.0/win-arm64/publish/fwdependent"
|
||||
$output_x64 = "./ILSpy/bin/$configuration/net10.0/win-x64/publish/fwdependent"
|
||||
|
||||
dotnet publish ./ILSpy/ILSpy.csproj -c Release --no-restore --no-self-contained -r win-arm64 -o $output_arm64
|
||||
dotnet publish ./ILSpy.ReadyToRun/ILSpy.ReadyToRun.csproj -c Release --no-restore --no-self-contained -r win-arm64 -o $output_arm64
|
||||
dotnet publish ./ILSpy/ILSpy.csproj -c $configuration --no-restore --no-self-contained -r win-x64 -o $output_x64
|
||||
dotnet publish ./ILSpy.ReadyToRun/ILSpy.ReadyToRun.csproj -c $configuration --no-restore --no-self-contained -r win-x64 -o $output_x64
|
||||
|
||||
$output_arm64 = "./ILSpy/bin/$configuration/net10.0/win-arm64/publish/fwdependent"
|
||||
|
||||
dotnet publish ./ILSpy/ILSpy.csproj -c $configuration --no-restore --no-self-contained -r win-arm64 -o $output_arm64
|
||||
dotnet publish ./ILSpy.ReadyToRun/ILSpy.ReadyToRun.csproj -c $configuration --no-restore --no-self-contained -r win-arm64 -o $output_arm64
|
||||
Reference in New Issue
Block a user