mirror of
https://github.com/icsharpcode/ILSpy.git
synced 2026-10-12 02:15:58 +00:00
* 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
209 lines
9.1 KiB
XML
209 lines
9.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<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;VS2022</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>
|
|
|
|
<!-- 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>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
|
|
<DebugType>pdbonly</DebugType>
|
|
<DebugSymbols>true</DebugSymbols>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup>
|
|
<ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<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="18.5.40034">
|
|
<PrivateAssets>all</PrivateAssets>
|
|
</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" />
|
|
<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>
|
|
<ILSpyBuildPathX64>..\ILSpy\bin\$(Configuration)\net10.0\win-x64\publish\fwdependent\</ILSpyBuildPathX64>
|
|
<ILSpyBuildPathArm64>..\ILSpy\bin\$(Configuration)\net10.0\win-arm64\publish\fwdependent\</ILSpyBuildPathArm64>
|
|
</PropertyGroup>
|
|
|
|
<Target Name="IncludeILSpyDistributionInVSIXSubFolder" AfterTargets="ResolveProjectReferences">
|
|
<ItemGroup>
|
|
<VSIXSourceItem Include="$(ILSpyBuildPathX64)*.dll;$(ILSpyBuildPathX64)ILSpy.exe;$(ILSpyBuildPathX64)*.json">
|
|
<VSIXSubPath>\x64\ILSpy</VSIXSubPath>
|
|
</VSIXSourceItem>
|
|
<VSIXSourceItem Include="$(ILSpyBuildPathArm64)*.dll;$(ILSpyBuildPathArm64)ILSpy.exe;$(ILSpyBuildPathArm64)*.json">
|
|
<VSIXSubPath>\arm64\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" />
|
|
</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 2022</Product>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<Folder Include="Resources\" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|