Browse Source

Merge pull request #1522 from onovotny/msix

Add MSIX support
pull/1556/head
Christoph Wille 6 years ago committed by GitHub
parent
commit
76d5320d42
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      .editorconfig
  2. 3
      .gitignore
  3. 40
      BuildTools/pipelines-install.ps1
  4. 36
      BuildTools/update-assemblyinfo.ps1
  5. 1
      ICSharpCode.Decompiler.Tests/ICSharpCode.Decompiler.Tests.csproj
  6. 19
      ICSharpCode.Decompiler.Tests/RoundtripAssembly.cs
  7. 7
      ILSpy.BamlDecompiler.Tests/ILSpy.BamlDecompiler.Tests.csproj
  8. 92
      ILSpy.Package/ILSpy.Package.wapproj
  9. BIN
      ILSpy.Package/ILSpy.png
  10. BIN
      ILSpy.Package/Images/LargeTile.scale-100.png
  11. BIN
      ILSpy.Package/Images/LargeTile.scale-125.png
  12. BIN
      ILSpy.Package/Images/LargeTile.scale-150.png
  13. BIN
      ILSpy.Package/Images/LargeTile.scale-200.png
  14. BIN
      ILSpy.Package/Images/LargeTile.scale-400.png
  15. BIN
      ILSpy.Package/Images/LockScreenLogo.scale-200.png
  16. BIN
      ILSpy.Package/Images/SmallTile.scale-100.png
  17. BIN
      ILSpy.Package/Images/SmallTile.scale-125.png
  18. BIN
      ILSpy.Package/Images/SmallTile.scale-150.png
  19. BIN
      ILSpy.Package/Images/SmallTile.scale-200.png
  20. BIN
      ILSpy.Package/Images/SmallTile.scale-400.png
  21. BIN
      ILSpy.Package/Images/SplashScreen.scale-100.png
  22. BIN
      ILSpy.Package/Images/SplashScreen.scale-125.png
  23. BIN
      ILSpy.Package/Images/SplashScreen.scale-150.png
  24. BIN
      ILSpy.Package/Images/SplashScreen.scale-200.png
  25. BIN
      ILSpy.Package/Images/SplashScreen.scale-400.png
  26. BIN
      ILSpy.Package/Images/Square150x150Logo.scale-100.png
  27. BIN
      ILSpy.Package/Images/Square150x150Logo.scale-125.png
  28. BIN
      ILSpy.Package/Images/Square150x150Logo.scale-150.png
  29. BIN
      ILSpy.Package/Images/Square150x150Logo.scale-200.png
  30. BIN
      ILSpy.Package/Images/Square150x150Logo.scale-400.png
  31. BIN
      ILSpy.Package/Images/Square44x44Logo.altform-lightunplated_targetsize-16.png
  32. BIN
      ILSpy.Package/Images/Square44x44Logo.altform-lightunplated_targetsize-24.png
  33. BIN
      ILSpy.Package/Images/Square44x44Logo.altform-lightunplated_targetsize-256.png
  34. BIN
      ILSpy.Package/Images/Square44x44Logo.altform-lightunplated_targetsize-32.png
  35. BIN
      ILSpy.Package/Images/Square44x44Logo.altform-lightunplated_targetsize-48.png
  36. BIN
      ILSpy.Package/Images/Square44x44Logo.altform-unplated_targetsize-16.png
  37. BIN
      ILSpy.Package/Images/Square44x44Logo.altform-unplated_targetsize-256.png
  38. BIN
      ILSpy.Package/Images/Square44x44Logo.altform-unplated_targetsize-32.png
  39. BIN
      ILSpy.Package/Images/Square44x44Logo.altform-unplated_targetsize-48.png
  40. BIN
      ILSpy.Package/Images/Square44x44Logo.scale-100.png
  41. BIN
      ILSpy.Package/Images/Square44x44Logo.scale-125.png
  42. BIN
      ILSpy.Package/Images/Square44x44Logo.scale-150.png
  43. BIN
      ILSpy.Package/Images/Square44x44Logo.scale-200.png
  44. BIN
      ILSpy.Package/Images/Square44x44Logo.scale-400.png
  45. BIN
      ILSpy.Package/Images/Square44x44Logo.targetsize-16.png
  46. BIN
      ILSpy.Package/Images/Square44x44Logo.targetsize-24.png
  47. BIN
      ILSpy.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png
  48. BIN
      ILSpy.Package/Images/Square44x44Logo.targetsize-256.png
  49. BIN
      ILSpy.Package/Images/Square44x44Logo.targetsize-32.png
  50. BIN
      ILSpy.Package/Images/Square44x44Logo.targetsize-48.png
  51. BIN
      ILSpy.Package/Images/StoreLogo.backup.png
  52. BIN
      ILSpy.Package/Images/StoreLogo.scale-100.png
  53. BIN
      ILSpy.Package/Images/StoreLogo.scale-125.png
  54. BIN
      ILSpy.Package/Images/StoreLogo.scale-150.png
  55. BIN
      ILSpy.Package/Images/StoreLogo.scale-200.png
  56. BIN
      ILSpy.Package/Images/StoreLogo.scale-400.png
  57. BIN
      ILSpy.Package/Images/Wide310x150Logo.scale-100.png
  58. BIN
      ILSpy.Package/Images/Wide310x150Logo.scale-125.png
  59. BIN
      ILSpy.Package/Images/Wide310x150Logo.scale-150.png
  60. BIN
      ILSpy.Package/Images/Wide310x150Logo.scale-200.png
  61. BIN
      ILSpy.Package/Images/Wide310x150Logo.scale-400.png
  62. 58
      ILSpy.Package/Package-CI.appxmanifest
  63. 58
      ILSpy.Package/Package-Local.appxmanifest
  64. 15
      ILSpy.Package/Package.appinstaller
  65. 58
      ILSpy.Package/Package.appxmanifest
  66. 295
      ILSpy.WithPackage.sln
  67. 13
      ILSpy/AboutPage.cs
  68. 10
      ILSpy/Commands/CheckForUpdatesCommand.cs
  69. 15
      ILSpy/ILSpy.csproj
  70. 6
      ILSpy/MainWindow.xaml.cs
  71. 8
      SharpTreeView/ICSharpCode.TreeView.csproj
  72. 3
      TestPlugin/TestPlugin.csproj
  73. 100
      azure-pipelines.yml
  74. 5
      global.json

4
.editorconfig

@ -8,7 +8,9 @@ indent_size = 4
[*.il] [*.il]
indent_style = space indent_style = space
indent_size = 2 indent_size = 2
[*.{yml,yaml}]
indent_style = space
indent_size = 2
[*.csproj] [*.csproj]
indent_style = space indent_style = space
indent_size = 2 indent_size = 2

3
.gitignore vendored

@ -1,6 +1,7 @@
bin/ bin/
obj/ obj/
AppPackages/
BundleArtifacts/
/ICSharpCode.Decompiler/Properties/AssemblyInfo.cs /ICSharpCode.Decompiler/Properties/AssemblyInfo.cs
/ILSpy/Properties/AssemblyInfo.cs /ILSpy/Properties/AssemblyInfo.cs
/ILSpy/app.config /ILSpy/app.config

40
BuildTools/pipelines-install.ps1

@ -0,0 +1,40 @@
$ErrorActionPreference = "Stop"
$baseCommit = "d779383cb85003d6dabeb976f0845631e07bf463";
$baseCommitRev = 1;
# make sure this list matches artifacts-only branches list in azure-pipelines.yml!
$masterBranches = @("master", "3.2.x");
$globalAssemblyInfoTemplateFile = "ILSpy/Properties/AssemblyInfo.template.cs";
$versionParts = @{};
Get-Content $globalAssemblyInfoTemplateFile | where { $_ -match 'string (\w+) = "?(\w+)"?;' } | foreach { $versionParts.Add($Matches[1], $Matches[2]) }
$major = $versionParts.Major;
$minor = $versionParts.Minor;
$build = $versionParts.Build;
$versionName = $versionParts.VersionName;
if ($versionName -ne "null") {
$versionName = "-$versionName";
} else {
$versionName = "";
}
if ($masterBranches -contains $env:BUILD_SOURCEBRANCHNAME) {
$branch = "";
} else {
$branch = "-$env:BUILD_SOURCEBRANCHNAME";
}
if ($env:SYSTEM_PULLREQUEST_PULLREQUESTNUMBER) {
$suffix = "-pr$env:SYSTEM_PULLREQUEST_PULLREQUESTNUMBER";
} else {
$suffix = "";
}
$revision = [Int32]::Parse((git rev-list --count "$baseCommit..HEAD")) + $baseCommitRev;
$newVersion="$major.$minor.$build.$revision";
$env:ILSPY_VERSION_NUMBER="$newVersion$branch$versionName$suffix";
Write-Host "##vso[build.updatebuildnumber]$newVersion$branch$versionName$suffix";
Write-Host "new version: $newVersion$branch$versionName$suffix";

36
BuildTools/update-assemblyinfo.ps1

@ -57,8 +57,10 @@ function gitBranch() {
return "no-branch"; return "no-branch";
} }
if ($env:APPVEYOR_REPO_BRANCH -ne $null) { if ($env:APPVEYOR_REPO_BRANCH -ne $null) {
return $env:APPVEYOR_REPO_BRANCH; return $env:APPVEYOR_REPO_BRANCH;
} elseif ($env:BUILD_SOURCEBRANCHNAME -ne $null) {
return $env:BUILD_SOURCEBRANCHNAME;
} else { } else {
return ((git branch --no-color).Split([System.Environment]::NewLine) | where { $_ -match "^\* " } | select -First 1).Substring(2); return ((git branch --no-color).Split([System.Environment]::NewLine) | where { $_ -match "^\* " } | select -First 1).Substring(2);
} }
@ -71,6 +73,12 @@ $templateFiles = (
@{Input="ILSpy/Properties/app.config.template"; Output = "ILSpy/app.config"}, @{Input="ILSpy/Properties/app.config.template"; Output = "ILSpy/app.config"},
@{Input="ILSpy.AddIn/source.extension.vsixmanifest.template"; Output = "ILSpy.AddIn/source.extension.vsixmanifest"} @{Input="ILSpy.AddIn/source.extension.vsixmanifest.template"; Output = "ILSpy.AddIn/source.extension.vsixmanifest"}
); );
$appxmanifestFiles = (
@{Input="ILSpy.Package/Package.appxmanifest"; Output="ILSpy.Package/Package.appxmanifest"},
@{Input="ILSpy.Package/Package-CI.appxmanifest"; Output="ILSpy.Package/Package-CI.appxmanifest"}
);
[string]$mutexId = "ILSpyUpdateAssemblyInfo" + (Get-Location).ToString().GetHashCode(); [string]$mutexId = "ILSpyUpdateAssemblyInfo" + (Get-Location).ToString().GetHashCode();
Write-Host $mutexId; Write-Host $mutexId;
[bool]$createdNew = $false; [bool]$createdNew = $false;
@ -142,6 +150,32 @@ try {
$out | Out-File -Encoding utf8 $file.Output; $out | Out-File -Encoding utf8 $file.Output;
} }
} }
# Only update these on the Build Agent when ReleaseChannel is set
if($Env:ReleaseChannel -ne '' -and $Env:ReleaseChannel -ne $null) {
foreach ($file in $appxmanifestFiles) {
[string]$in = (Get-Content $file.Input) -Join [System.Environment]::NewLine;
$out = $in.Replace('$INSERTVERSION$', $fullVersionNumber);
$out = $out.Replace('$INSERTMAJORVERSION$', $major);
$out = $out.Replace('$INSERTMINORVERSION$', $minor);
$out = $out.Replace('$INSERTREVISION$', $revision);
$out = $out.Replace('$INSERTCOMMITHASH$', $gitCommitHash);
$out = $out.Replace('$INSERTSHORTCOMMITHASH$', $gitCommitHash.Substring(0, 8));
$out = $out.Replace('$INSERTDATE$', [System.DateTime]::Now.ToString("MM/dd/yyyy"));
$out = $out.Replace('$INSERTYEAR$', [System.DateTime]::Now.Year.ToString());
$out = $out.Replace('$INSERTBRANCHNAME$', $branchName);
$out = $out.Replace('$INSERTBRANCHPOSTFIX$', $postfixBranchName);
$out = $out.Replace('$INSERTVERSIONNAME$', $versionName);
$out = $out.Replace('$INSERTVERSIONNAMEPOSTFIX$', $postfixVersionName);
$out = $out.Replace('$INSERTBUILDCONFIG$', $buildConfig);
if (((Get-Content $file.Input) -Join [System.Environment]::NewLine) -ne $out) {
$out | Out-File -Encoding utf8 $file.Output;
}
}
}
} finally { } finally {
$mutex.ReleaseMutex(); $mutex.ReleaseMutex();
$mutex.Close(); $mutex.Close();

1
ICSharpCode.Decompiler.Tests/ICSharpCode.Decompiler.Tests.csproj

@ -41,6 +41,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="DiffLib" Version="2017.7.26.1241" /> <PackageReference Include="DiffLib" Version="2017.7.26.1241" />
<PackageReference Include="Microsoft.Build.Locator" Version="1.2.2" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="3.0.0-beta4-final" /> <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="3.0.0-beta4-final" />
<PackageReference Include="Microsoft.CodeAnalysis.VisualBasic" Version="3.0.0-beta4-final" /> <PackageReference Include="Microsoft.CodeAnalysis.VisualBasic" Version="3.0.0-beta4-final" />
<PackageReference Include="Microsoft.DiaSymReader.Converter.Xml" Version="1.1.0-beta1-63314-01" /> <PackageReference Include="Microsoft.DiaSymReader.Converter.Xml" Version="1.1.0-beta1-63314-01" />

19
ICSharpCode.Decompiler.Tests/RoundtripAssembly.cs

@ -26,6 +26,7 @@ using System.Threading;
using ICSharpCode.Decompiler.CSharp; using ICSharpCode.Decompiler.CSharp;
using ICSharpCode.Decompiler.Metadata; using ICSharpCode.Decompiler.Metadata;
using ICSharpCode.Decompiler.Tests.Helpers; using ICSharpCode.Decompiler.Tests.Helpers;
using Microsoft.Build.Locator;
using Microsoft.Win32; using Microsoft.Win32;
using NUnit.Framework; using NUnit.Framework;
@ -188,22 +189,16 @@ namespace ICSharpCode.Decompiler.Tests
File.Delete(file); File.Delete(file);
} }
} }
static string FindVS2017()
{
using (var key = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32)) {
using (var subkey = key.OpenSubKey(@"SOFTWARE\Microsoft\VisualStudio\SxS\VS7")) {
return subkey?.GetValue("15.0") as string;
}
}
}
static string FindMSBuild() static string FindMSBuild()
{ {
string vsPath = FindVS2017(); string vsPath = MSBuildLocator.QueryVisualStudioInstances(new VisualStudioInstanceQueryOptions { DiscoveryTypes = DiscoveryType.VisualStudioSetup })
.OrderByDescending(i => i.Version)
.FirstOrDefault()
?.MSBuildPath;
if (vsPath == null) if (vsPath == null)
throw new InvalidOperationException("Could not find VS2017"); throw new InvalidOperationException("Could not find MSBuild");
return Path.Combine(vsPath, @"MSBuild\15.0\bin\MSBuild.exe"); return Path.Combine(vsPath, "msbuild.exe");
} }
static void Compile(string projectFile, string outputDir) static void Compile(string projectFile, string outputDir)

7
ILSpy.BamlDecompiler.Tests/ILSpy.BamlDecompiler.Tests.csproj

@ -7,7 +7,7 @@
<GenerateAssemblyInfo>False</GenerateAssemblyInfo> <GenerateAssemblyInfo>False</GenerateAssemblyInfo>
<EnableDefaultItems>false</EnableDefaultItems> <EnableDefaultItems>false</EnableDefaultItems>
<ExtrasEnableWpfProjectSetup>true</ExtrasEnableWpfProjectSetup> <UseWpf>true</UseWpf>
<ExtrasEnableDefaultPageItems>false</ExtrasEnableDefaultPageItems> <ExtrasEnableDefaultPageItems>false</ExtrasEnableDefaultPageItems>
<ExtrasEnableDefaultResourceItems>false</ExtrasEnableDefaultResourceItems> <ExtrasEnableDefaultResourceItems>false</ExtrasEnableDefaultResourceItems>
</PropertyGroup> </PropertyGroup>
@ -45,24 +45,19 @@
<Compile Include="BamlTestRunner.cs" /> <Compile Include="BamlTestRunner.cs" />
<Compile Include="Cases\AttachedEvent.xaml.cs"> <Compile Include="Cases\AttachedEvent.xaml.cs">
<DependentUpon>AttachedEvent.xaml</DependentUpon> <DependentUpon>AttachedEvent.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile> </Compile>
<Compile Include="Cases\CustomControl.cs" /> <Compile Include="Cases\CustomControl.cs" />
<Compile Include="Cases\MyControl.xaml.cs"> <Compile Include="Cases\MyControl.xaml.cs">
<DependentUpon>MyControl.xaml</DependentUpon> <DependentUpon>MyControl.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile> </Compile>
<Compile Include="Cases\Resources.xaml.cs"> <Compile Include="Cases\Resources.xaml.cs">
<DependentUpon>Resources.xaml</DependentUpon> <DependentUpon>Resources.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile> </Compile>
<Compile Include="Cases\Simple.xaml.cs"> <Compile Include="Cases\Simple.xaml.cs">
<DependentUpon>Simple.xaml</DependentUpon> <DependentUpon>Simple.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile> </Compile>
<Compile Include="Cases\SimpleNames.xaml.cs"> <Compile Include="Cases\SimpleNames.xaml.cs">
<DependentUpon>SimpleNames.xaml</DependentUpon> <DependentUpon>SimpleNames.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile> </Compile>
<Compile Include="Mocks\AvalonDock.cs" /> <Compile Include="Mocks\AvalonDock.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />

92
ILSpy.Package/ILSpy.Package.wapproj

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '15.0'">
<VisualStudioVersion>15.0</VisualStudioVersion>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x86">
<Configuration>Debug</Configuration>
<Platform>x86</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x86">
<Configuration>Release</Configuration>
<Platform>x86</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|AnyCPU">
<Configuration>Debug</Configuration>
<Platform>AnyCPU</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|AnyCPU">
<Configuration>Release</Configuration>
<Platform>AnyCPU</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup>
<WapProjPath Condition="'$(WapProjPath)'==''">$(MSBuildExtensionsPath)\Microsoft\DesktopBridge\</WapProjPath>
</PropertyGroup>
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.props" />
<PropertyGroup>
<ProjectGuid>bab51a23-9c15-42cc-8465-eb732bf9a932</ProjectGuid>
<TargetPlatformVersion>10.0.17763.0</TargetPlatformVersion>
<TargetPlatformMinVersion>10.0.16299.0</TargetPlatformMinVersion>
<DefaultLanguage>en-US</DefaultLanguage>
<AppxPackageSigningEnabled>false</AppxPackageSigningEnabled>
<EntryPointProjectUniqueName>..\ILSpy\ILSpy.csproj</EntryPointProjectUniqueName>
<AppxAutoIncrementPackageRevision>False</AppxAutoIncrementPackageRevision>
<GenerateTestArtifacts>True</GenerateTestArtifacts>
<AppxBundle>Always</AppxBundle>
<AppxBundlePlatforms>neutral</AppxBundlePlatforms>
<UapAppxPackageBuildMode Condition="'$(ReleaseChannel)' == 'Store'">CI</UapAppxPackageBuildMode>
<AppxSymbolPackageEnabled>False</AppxSymbolPackageEnabled>
</PropertyGroup>
<PropertyGroup Condition="'$(ReleaseChannel)' == 'CI'">
<GenerateAppInstallerFile>true</GenerateAppInstallerFile>
<AppInstallerUri>https://some.location/tbd</AppInstallerUri>
<AppInstallerUpdateFrequency>0</AppInstallerUpdateFrequency>
<AppInstallerCheckForUpdateFrequency>OnApplicationRun</AppInstallerCheckForUpdateFrequency>
</PropertyGroup>
<ItemGroup>
<AppxManifest Include="Package-Local.appxmanifest" Condition="'$(ReleaseChannel)' == ''">
<SubType>Designer</SubType>
</AppxManifest>
<AppxManifest Include="Package-CI.appxmanifest" Condition="'$(ReleaseChannel)' == 'CI'">
<SubType>Designer</SubType>
</AppxManifest>
<AppxManifest Include="Package.appxmanifest" Condition="'$(ReleaseChannel)' == 'Store'">
<SubType>Designer</SubType>
</AppxManifest>
<None Include="*.appxmanifest" />
</ItemGroup>
<ItemGroup>
<Content Include="Images\*" />
<None Include="Package.appinstaller" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ILSpy\ILSpy.csproj" SkipGetTargetFrameworkProperties="true" />
</ItemGroup>
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.targets" />
</Project>

BIN
ILSpy.Package/ILSpy.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
ILSpy.Package/Images/LargeTile.scale-100.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
ILSpy.Package/Images/LargeTile.scale-125.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
ILSpy.Package/Images/LargeTile.scale-150.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
ILSpy.Package/Images/LargeTile.scale-200.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
ILSpy.Package/Images/LargeTile.scale-400.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

BIN
ILSpy.Package/Images/LockScreenLogo.scale-200.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
ILSpy.Package/Images/SmallTile.scale-100.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
ILSpy.Package/Images/SmallTile.scale-125.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
ILSpy.Package/Images/SmallTile.scale-150.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
ILSpy.Package/Images/SmallTile.scale-200.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

BIN
ILSpy.Package/Images/SmallTile.scale-400.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
ILSpy.Package/Images/SplashScreen.scale-100.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
ILSpy.Package/Images/SplashScreen.scale-125.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
ILSpy.Package/Images/SplashScreen.scale-150.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
ILSpy.Package/Images/SplashScreen.scale-200.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
ILSpy.Package/Images/SplashScreen.scale-400.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

BIN
ILSpy.Package/Images/Square150x150Logo.scale-100.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
ILSpy.Package/Images/Square150x150Logo.scale-125.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
ILSpy.Package/Images/Square150x150Logo.scale-150.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

BIN
ILSpy.Package/Images/Square150x150Logo.scale-200.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

BIN
ILSpy.Package/Images/Square150x150Logo.scale-400.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
ILSpy.Package/Images/Square44x44Logo.altform-lightunplated_targetsize-16.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 657 B

BIN
ILSpy.Package/Images/Square44x44Logo.altform-lightunplated_targetsize-24.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
ILSpy.Package/Images/Square44x44Logo.altform-lightunplated_targetsize-256.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
ILSpy.Package/Images/Square44x44Logo.altform-lightunplated_targetsize-32.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
ILSpy.Package/Images/Square44x44Logo.altform-lightunplated_targetsize-48.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
ILSpy.Package/Images/Square44x44Logo.altform-unplated_targetsize-16.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 657 B

BIN
ILSpy.Package/Images/Square44x44Logo.altform-unplated_targetsize-256.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
ILSpy.Package/Images/Square44x44Logo.altform-unplated_targetsize-32.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
ILSpy.Package/Images/Square44x44Logo.altform-unplated_targetsize-48.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
ILSpy.Package/Images/Square44x44Logo.scale-100.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
ILSpy.Package/Images/Square44x44Logo.scale-125.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
ILSpy.Package/Images/Square44x44Logo.scale-150.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
ILSpy.Package/Images/Square44x44Logo.scale-200.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
ILSpy.Package/Images/Square44x44Logo.scale-400.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
ILSpy.Package/Images/Square44x44Logo.targetsize-16.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 477 B

BIN
ILSpy.Package/Images/Square44x44Logo.targetsize-24.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 794 B

BIN
ILSpy.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
ILSpy.Package/Images/Square44x44Logo.targetsize-256.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
ILSpy.Package/Images/Square44x44Logo.targetsize-32.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
ILSpy.Package/Images/Square44x44Logo.targetsize-48.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
ILSpy.Package/Images/StoreLogo.backup.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
ILSpy.Package/Images/StoreLogo.scale-100.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

BIN
ILSpy.Package/Images/StoreLogo.scale-125.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
ILSpy.Package/Images/StoreLogo.scale-150.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

BIN
ILSpy.Package/Images/StoreLogo.scale-200.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

BIN
ILSpy.Package/Images/StoreLogo.scale-400.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
ILSpy.Package/Images/Wide310x150Logo.scale-100.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

BIN
ILSpy.Package/Images/Wide310x150Logo.scale-125.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

BIN
ILSpy.Package/Images/Wide310x150Logo.scale-150.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

BIN
ILSpy.Package/Images/Wide310x150Logo.scale-200.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
ILSpy.Package/Images/Wide310x150Logo.scale-400.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

58
ILSpy.Package/Package-CI.appxmanifest

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap rescap">
<Identity
Name="ICSharpCode.ILSpy.CI"
Publisher="CN=ICSharpCode"
Version="$INSERTMAJORVERSION$.$INSERTMINORVERSION$.$INSERTREVISION$.0" />
<Properties>
<DisplayName>ILSpy (CI)</DisplayName>
<PublisherDisplayName>ICSharpCode</PublisherDisplayName>
<Logo>Images\StoreLogo.png</Logo>
</Properties>
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.16299.0" MaxVersionTested="10.0.17763.0" />
</Dependencies>
<Resources>
<Resource Language="x-generate"/>
</Resources>
<Applications>
<Application Id="App"
Executable="$targetnametoken$.exe"
EntryPoint="$targetentrypoint$">
<uap:VisualElements
DisplayName="ILSpy (CI)"
Description=".NET assembly inspector and decompiler"
BackgroundColor="transparent"
Square150x150Logo="Images\Square150x150Logo.png"
Square44x44Logo="Images\Square44x44Logo.png">
<uap:DefaultTile Wide310x150Logo="Images\Wide310x150Logo.png" Square71x71Logo="Images\SmallTile.png" Square310x310Logo="Images\LargeTile.png"/>
<uap:SplashScreen Image="Images\SplashScreen.png" />
</uap:VisualElements>
<Extensions>
<uap3:Extension Category="windows.appExecutionAlias" Executable="ILSpy\ILSpy.exe" EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="ilspyc.exe" />
</uap3:AppExecutionAlias>
</uap3:Extension>
</Extensions>
</Application>
</Applications>
<Capabilities>
<Capability Name="internetClient" />
<rescap:Capability Name="runFullTrust" />
</Capabilities>
</Package>

58
ILSpy.Package/Package-Local.appxmanifest

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap rescap">
<Identity
Name="ICSharpCode.ILSpy.Local"
Publisher="CN=ICSharpCode"
Version="1.0.0.0" />
<Properties>
<DisplayName>ILSpy (Local)</DisplayName>
<PublisherDisplayName>ICSharpCode</PublisherDisplayName>
<Logo>Images\StoreLogo.png</Logo>
</Properties>
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.16299.0" MaxVersionTested="10.0.17763.0" />
</Dependencies>
<Resources>
<Resource Language="x-generate"/>
</Resources>
<Applications>
<Application Id="App"
Executable="$targetnametoken$.exe"
EntryPoint="$targetentrypoint$">
<uap:VisualElements
DisplayName="ILSpy (Local)"
Description=".NET assembly inspector and decompiler"
BackgroundColor="transparent"
Square150x150Logo="Images\Square150x150Logo.png"
Square44x44Logo="Images\Square44x44Logo.png">
<uap:DefaultTile Wide310x150Logo="Images\Wide310x150Logo.png" Square71x71Logo="Images\SmallTile.png" Square310x310Logo="Images\LargeTile.png"/>
<uap:SplashScreen Image="Images\SplashScreen.png" />
</uap:VisualElements>
<Extensions>
<uap3:Extension Category="windows.appExecutionAlias" Executable="ILSpy\ILSpy.exe" EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="ilspyl.exe" />
</uap3:AppExecutionAlias>
</uap3:Extension>
</Extensions>
</Application>
</Applications>
<Capabilities>
<Capability Name="internetClient" />
<rescap:Capability Name="runFullTrust" />
</Capabilities>
</Package>

15
ILSpy.Package/Package.appinstaller

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller Uri="{AppInstallerUri}"
Version="{Version}"
xmlns="http://schemas.microsoft.com/appx/appinstaller/2018">
<MainBundle Name="{Name}"
Version="{Version}"
Publisher="{Publisher}"
Uri="{MainPackageUri}"/>
<UpdateSettings>
<OnLaunch HoursBetweenUpdateChecks="4" />
</UpdateSettings>
</AppInstaller>

58
ILSpy.Package/Package.appxmanifest

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap rescap">
<Identity
Name="ICSharpCode.ILSpy"
Publisher="CN=ICSharpCode"
Version="$INSERTMAJORVERSION$.$INSERTMINORVERSION$.$INSERTREVISION$.0" />
<Properties>
<DisplayName>ILSpy</DisplayName>
<PublisherDisplayName>ICSharpCode</PublisherDisplayName>
<Logo>Images\StoreLogo.png</Logo>
</Properties>
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.16299.0" MaxVersionTested="10.0.17763.0" />
</Dependencies>
<Resources>
<Resource Language="x-generate"/>
</Resources>
<Applications>
<Application Id="App"
Executable="$targetnametoken$.exe"
EntryPoint="$targetentrypoint$">
<uap:VisualElements
DisplayName="ILSpy"
Description=".NET assembly inspector and decompiler"
BackgroundColor="transparent"
Square150x150Logo="Images\Square150x150Logo.png"
Square44x44Logo="Images\Square44x44Logo.png">
<uap:DefaultTile Wide310x150Logo="Images\Wide310x150Logo.png" Square71x71Logo="Images\SmallTile.png" Square310x310Logo="Images\LargeTile.png"/>
<uap:SplashScreen Image="Images\SplashScreen.png" />
</uap:VisualElements>
<Extensions>
<uap3:Extension Category="windows.appExecutionAlias" Executable="ILSpy\ILSpy.exe" EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="ilspy.exe" />
</uap3:AppExecutionAlias>
</uap3:Extension>
</Extensions>
</Application>
</Applications>
<Capabilities>
<Capability Name="internetClient" />
<rescap:Capability Name="runFullTrust" />
</Capabilities>
</Package>

295
ILSpy.WithPackage.sln

@ -0,0 +1,295 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.28803.202
MinimumVisualStudioVersion = 15.0
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "doc", "doc", "{F45DB999-7E72-4000-B5AD-3A7B485A0896}"
ProjectSection(SolutionItems) = preProject
doc\Command Line.txt = doc\Command Line.txt
doc\ILAst.txt = doc\ILAst.txt
doc\IntPtr.txt = doc\IntPtr.txt
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILSpy", "ILSpy\ILSpy.csproj", "{1E85EFF9-E370-4683-83E4-8A3D063FF791}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ICSharpCode.TreeView", "SharpTreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ICSharpCode.Decompiler", "ICSharpCode.Decompiler\ICSharpCode.Decompiler.csproj", "{984CC812-9470-4A13-AFF9-CC44068D666C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ICSharpCode.Decompiler.Tests", "ICSharpCode.Decompiler.Tests\ICSharpCode.Decompiler.Tests.csproj", "{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestPlugin", "TestPlugin\TestPlugin.csproj", "{F32EBCC8-0E53-4421-867E-05B3D6E10C70}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILSpy.BamlDecompiler", "ILSpy.BamlDecompiler\ILSpy.BamlDecompiler.csproj", "{A6BAD2BA-76BA-461C-8B6D-418607591247}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILSpy.BamlDecompiler.Tests", "ILSpy.BamlDecompiler.Tests\ILSpy.BamlDecompiler.Tests.csproj", "{1169E6D1-1899-43D4-A500-07CE4235B388}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILSpy.AddIn", "ILSpy.AddIn\ILSpy.AddIn.csproj", "{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}"
ProjectSection(ProjectDependencies) = postProject
{A6BAD2BA-76BA-461C-8B6D-418607591247} = {A6BAD2BA-76BA-461C-8B6D-418607591247}
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ICSharpCode.Decompiler.PdbProvider.Cecil", "ICSharpCode.Decompiler.PdbProvider.Cecil\ICSharpCode.Decompiler.PdbProvider.Cecil.csproj", "{B85A155A-9DD6-43BC-A624-2D8EC773D71F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILSpy.Tests", "ILSpy.Tests\ILSpy.Tests.csproj", "{B51C6636-B8D1-4200-9869-08F2689DE6C2}"
EndProject
Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "ILSpy.Package", "ILSpy.Package\ILSpy.Package.wapproj", "{BAB51A23-9C15-42CC-8465-EB732BF9A932}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{58AA7BDB-174C-4566-BD8A-EC461F1D6848}"
ProjectSection(SolutionItems) = preProject
azure-pipelines.yml = azure-pipelines.yml
BuildTools\update-assemblyinfo.ps1 = BuildTools\update-assemblyinfo.ps1
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|ARM = Debug|ARM
Debug|ARM64 = Debug|ARM64
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|ARM = Release|ARM
Release|ARM64 = Release|ARM64
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Debug|ARM.ActiveCfg = Debug|Any CPU
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Debug|ARM.Build.0 = Debug|Any CPU
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Debug|ARM64.Build.0 = Debug|Any CPU
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Debug|x64.ActiveCfg = Debug|Any CPU
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Debug|x64.Build.0 = Debug|Any CPU
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Debug|x86.ActiveCfg = Debug|Any CPU
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Debug|x86.Build.0 = Debug|Any CPU
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Release|Any CPU.Build.0 = Release|Any CPU
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Release|ARM.ActiveCfg = Release|Any CPU
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Release|ARM.Build.0 = Release|Any CPU
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Release|ARM64.ActiveCfg = Release|Any CPU
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Release|ARM64.Build.0 = Release|Any CPU
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Release|x64.ActiveCfg = Release|Any CPU
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Release|x64.Build.0 = Release|Any CPU
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Release|x86.ActiveCfg = Release|Any CPU
{1E85EFF9-E370-4683-83E4-8A3D063FF791}.Release|x86.Build.0 = Release|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|ARM.ActiveCfg = Debug|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|ARM.Build.0 = Debug|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|ARM64.Build.0 = Debug|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|x64.ActiveCfg = Debug|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|x64.Build.0 = Debug|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|x86.ActiveCfg = Debug|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|x86.Build.0 = Debug|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|Any CPU.Build.0 = Release|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|ARM.ActiveCfg = Release|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|ARM.Build.0 = Release|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|ARM64.ActiveCfg = Release|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|ARM64.Build.0 = Release|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|x64.ActiveCfg = Release|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|x64.Build.0 = Release|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|x86.ActiveCfg = Release|Any CPU
{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|x86.Build.0 = Release|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Debug|ARM.ActiveCfg = Debug|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Debug|ARM.Build.0 = Debug|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Debug|ARM64.Build.0 = Debug|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Debug|x64.ActiveCfg = Debug|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Debug|x64.Build.0 = Debug|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Debug|x86.ActiveCfg = Debug|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Debug|x86.Build.0 = Debug|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Release|Any CPU.Build.0 = Release|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Release|ARM.ActiveCfg = Release|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Release|ARM.Build.0 = Release|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Release|ARM64.ActiveCfg = Release|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Release|ARM64.Build.0 = Release|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Release|x64.ActiveCfg = Release|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Release|x64.Build.0 = Release|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Release|x86.ActiveCfg = Release|Any CPU
{984CC812-9470-4A13-AFF9-CC44068D666C}.Release|x86.Build.0 = Release|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Debug|ARM.ActiveCfg = Debug|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Debug|ARM.Build.0 = Debug|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Debug|ARM64.Build.0 = Debug|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Debug|x64.ActiveCfg = Debug|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Debug|x64.Build.0 = Debug|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Debug|x86.ActiveCfg = Debug|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Debug|x86.Build.0 = Debug|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Release|Any CPU.Build.0 = Release|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Release|ARM.ActiveCfg = Release|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Release|ARM.Build.0 = Release|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Release|ARM64.ActiveCfg = Release|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Release|ARM64.Build.0 = Release|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Release|x64.ActiveCfg = Release|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Release|x64.Build.0 = Release|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Release|x86.ActiveCfg = Release|Any CPU
{FEC0DA52-C4A6-4710-BE36-B484A20C5E22}.Release|x86.Build.0 = Release|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Debug|ARM.ActiveCfg = Debug|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Debug|ARM.Build.0 = Debug|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Debug|ARM64.Build.0 = Debug|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Debug|x64.ActiveCfg = Debug|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Debug|x64.Build.0 = Debug|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Debug|x86.ActiveCfg = Debug|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Debug|x86.Build.0 = Debug|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Release|Any CPU.Build.0 = Release|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Release|ARM.ActiveCfg = Release|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Release|ARM.Build.0 = Release|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Release|ARM64.ActiveCfg = Release|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Release|ARM64.Build.0 = Release|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Release|x64.ActiveCfg = Release|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Release|x64.Build.0 = Release|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Release|x86.ActiveCfg = Release|Any CPU
{F32EBCC8-0E53-4421-867E-05B3D6E10C70}.Release|x86.Build.0 = Release|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Debug|ARM.ActiveCfg = Debug|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Debug|ARM.Build.0 = Debug|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Debug|ARM64.Build.0 = Debug|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Debug|x64.ActiveCfg = Debug|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Debug|x64.Build.0 = Debug|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Debug|x86.ActiveCfg = Debug|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Debug|x86.Build.0 = Debug|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Release|Any CPU.Build.0 = Release|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Release|ARM.ActiveCfg = Release|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Release|ARM.Build.0 = Release|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Release|ARM64.ActiveCfg = Release|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Release|ARM64.Build.0 = Release|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Release|x64.ActiveCfg = Release|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Release|x64.Build.0 = Release|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Release|x86.ActiveCfg = Release|Any CPU
{A6BAD2BA-76BA-461C-8B6D-418607591247}.Release|x86.Build.0 = Release|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Debug|ARM.ActiveCfg = Debug|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Debug|ARM.Build.0 = Debug|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Debug|ARM64.Build.0 = Debug|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Debug|x64.ActiveCfg = Debug|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Debug|x64.Build.0 = Debug|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Debug|x86.ActiveCfg = Debug|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Debug|x86.Build.0 = Debug|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Release|Any CPU.Build.0 = Release|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Release|ARM.ActiveCfg = Release|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Release|ARM.Build.0 = Release|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Release|ARM64.ActiveCfg = Release|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Release|ARM64.Build.0 = Release|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Release|x64.ActiveCfg = Release|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Release|x64.Build.0 = Release|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Release|x86.ActiveCfg = Release|Any CPU
{1169E6D1-1899-43D4-A500-07CE4235B388}.Release|x86.Build.0 = Release|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Debug|ARM.ActiveCfg = Debug|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Debug|ARM.Build.0 = Debug|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Debug|ARM64.Build.0 = Debug|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Debug|x64.ActiveCfg = Debug|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Debug|x64.Build.0 = Debug|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Debug|x86.ActiveCfg = Debug|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Debug|x86.Build.0 = Debug|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Release|Any CPU.Build.0 = Release|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Release|ARM.ActiveCfg = Release|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Release|ARM.Build.0 = Release|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Release|ARM64.ActiveCfg = Release|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Release|ARM64.Build.0 = Release|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Release|x64.ActiveCfg = Release|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Release|x64.Build.0 = Release|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Release|x86.ActiveCfg = Release|Any CPU
{9D7BE6C0-B7B3-4A50-A54E-18A2D84A3384}.Release|x86.Build.0 = Release|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Debug|ARM.ActiveCfg = Debug|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Debug|ARM.Build.0 = Debug|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Debug|ARM64.Build.0 = Debug|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Debug|x64.ActiveCfg = Debug|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Debug|x64.Build.0 = Debug|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Debug|x86.ActiveCfg = Debug|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Debug|x86.Build.0 = Debug|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Release|Any CPU.Build.0 = Release|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Release|ARM.ActiveCfg = Release|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Release|ARM.Build.0 = Release|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Release|ARM64.ActiveCfg = Release|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Release|ARM64.Build.0 = Release|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Release|x64.ActiveCfg = Release|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Release|x64.Build.0 = Release|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Release|x86.ActiveCfg = Release|Any CPU
{B85A155A-9DD6-43BC-A624-2D8EC773D71F}.Release|x86.Build.0 = Release|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Debug|ARM.ActiveCfg = Debug|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Debug|ARM.Build.0 = Debug|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Debug|ARM64.Build.0 = Debug|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Debug|x64.ActiveCfg = Debug|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Debug|x64.Build.0 = Debug|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Debug|x86.ActiveCfg = Debug|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Debug|x86.Build.0 = Debug|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Release|Any CPU.Build.0 = Release|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Release|ARM.ActiveCfg = Release|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Release|ARM.Build.0 = Release|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Release|ARM64.ActiveCfg = Release|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Release|ARM64.Build.0 = Release|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Release|x64.ActiveCfg = Release|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Release|x64.Build.0 = Release|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Release|x86.ActiveCfg = Release|Any CPU
{B51C6636-B8D1-4200-9869-08F2689DE6C2}.Release|x86.Build.0 = Release|Any CPU
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Debug|ARM.ActiveCfg = Debug|ARM
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Debug|ARM.Build.0 = Debug|ARM
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Debug|ARM.Deploy.0 = Debug|ARM
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Debug|ARM64.ActiveCfg = Debug|ARM64
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Debug|ARM64.Build.0 = Debug|ARM64
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Debug|ARM64.Deploy.0 = Debug|ARM64
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Debug|x64.ActiveCfg = Debug|x64
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Debug|x64.Build.0 = Debug|x64
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Debug|x64.Deploy.0 = Debug|x64
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Debug|x86.ActiveCfg = Debug|x86
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Debug|x86.Build.0 = Debug|x86
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Debug|x86.Deploy.0 = Debug|x86
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Release|Any CPU.Build.0 = Release|Any CPU
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Release|Any CPU.Deploy.0 = Release|Any CPU
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Release|ARM.ActiveCfg = Release|ARM
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Release|ARM.Build.0 = Release|ARM
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Release|ARM.Deploy.0 = Release|ARM
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Release|ARM64.ActiveCfg = Release|ARM64
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Release|ARM64.Build.0 = Release|ARM64
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Release|ARM64.Deploy.0 = Release|ARM64
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Release|x64.ActiveCfg = Release|x64
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Release|x64.Build.0 = Release|x64
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Release|x64.Deploy.0 = Release|x64
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Release|x86.ActiveCfg = Release|x86
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Release|x86.Build.0 = Release|x86
{BAB51A23-9C15-42CC-8465-EB732BF9A932}.Release|x86.Deploy.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C764218F-7633-4412-923D-558CE7EE0560}
EndGlobalSection
EndGlobal

13
ILSpy/AboutPage.cs

@ -35,6 +35,7 @@ using ICSharpCode.AvalonEdit.Rendering;
using ICSharpCode.Decompiler; using ICSharpCode.Decompiler;
using ICSharpCode.ILSpy.Properties; using ICSharpCode.ILSpy.Properties;
using ICSharpCode.ILSpy.TextView; using ICSharpCode.ILSpy.TextView;
using OSVersionHelper;
namespace ICSharpCode.ILSpy namespace ICSharpCode.ILSpy
{ {
@ -59,7 +60,10 @@ namespace ICSharpCode.ILSpy
{ {
AvalonEditTextOutput output = new AvalonEditTextOutput() { EnableHyperlinks = true }; AvalonEditTextOutput output = new AvalonEditTextOutput() { EnableHyperlinks = true };
output.WriteLine(Resources.ILSpyVersion + RevisionClass.FullVersion); output.WriteLine(Resources.ILSpyVersion + RevisionClass.FullVersion);
output.AddUIElement( if(WindowsVersionHelper.HasPackageIdentity) {
output.WriteLine($"Package Name: {WindowsVersionHelper.GetPackageFamilyName()}");
} else {// if we're running in an MSIX, updates work differently
output.AddUIElement(
delegate { delegate {
StackPanel stackPanel = new StackPanel(); StackPanel stackPanel = new StackPanel();
stackPanel.HorizontalAlignment = HorizontalAlignment.Center; stackPanel.HorizontalAlignment = HorizontalAlignment.Center;
@ -81,7 +85,9 @@ namespace ICSharpCode.ILSpy
Children = { stackPanel, checkBox } Children = { stackPanel, checkBox }
}; };
}); });
output.WriteLine(); output.WriteLine();
}
foreach (var plugin in App.ExportProvider.GetExportedValues<IAboutPageAddition>()) foreach (var plugin in App.ExportProvider.GetExportedValues<IAboutPageAddition>())
plugin.Write(output); plugin.Write(output);
output.WriteLine(); output.WriteLine();
@ -283,7 +289,8 @@ namespace ICSharpCode.ILSpy
{ {
var tcs = new TaskCompletionSource<string>(); var tcs = new TaskCompletionSource<string>();
UpdateSettings s = new UpdateSettings(spySettings); UpdateSettings s = new UpdateSettings(spySettings);
if (s.AutomaticUpdateCheckEnabled) { // If we're in an MSIX package, updates work differently
if (s.AutomaticUpdateCheckEnabled && !WindowsVersionHelper.HasPackageIdentity) {
// perform update check if we never did one before; // perform update check if we never did one before;
// or if the last check wasn't in the past 7 days // or if the last check wasn't in the past 7 days
if (s.LastSuccessfulUpdateCheck == null if (s.LastSuccessfulUpdateCheck == null

10
ILSpy/Commands/CheckForUpdatesCommand.cs

@ -18,12 +18,22 @@
using ICSharpCode.ILSpy.Properties; using ICSharpCode.ILSpy.Properties;
using OSVersionHelper;
namespace ICSharpCode.ILSpy namespace ICSharpCode.ILSpy
{ {
[ExportMainMenuCommand(Menu = nameof(Resources._Help), Header = nameof(Resources._CheckUpdates), MenuOrder = 5000)] [ExportMainMenuCommand(Menu = nameof(Resources._Help), Header = nameof(Resources._CheckUpdates), MenuOrder = 5000)]
sealed class CheckForUpdatesCommand : SimpleCommand sealed class CheckForUpdatesCommand : SimpleCommand
{ {
public override bool CanExecute(object parameter)
{
if(WindowsVersionHelper.HasPackageIdentity) {
return false;
}
return base.CanExecute(parameter);
}
public override void Execute(object parameter) public override void Execute(object parameter)
{ {
MainWindow.Instance.ShowMessageIfUpdatesAvailableAsync(ILSpySettings.Load(), forceCheck: true); MainWindow.Instance.ShowMessageIfUpdatesAvailableAsync(ILSpySettings.Load(), forceCheck: true);

15
ILSpy/ILSpy.csproj

@ -9,7 +9,7 @@
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects> <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
<EnableDefaultItems>false</EnableDefaultItems> <EnableDefaultItems>false</EnableDefaultItems>
<ExtrasEnableWpfProjectSetup>true</ExtrasEnableWpfProjectSetup> <UseWpf>true</UseWpf>
<ExtrasEnableDefaultPageItems>false</ExtrasEnableDefaultPageItems> <ExtrasEnableDefaultPageItems>false</ExtrasEnableDefaultPageItems>
<ExtrasEnableDefaultResourceItems>false</ExtrasEnableDefaultResourceItems> <ExtrasEnableDefaultResourceItems>false</ExtrasEnableDefaultResourceItems>
@ -52,6 +52,7 @@
<PackageReference Include="Microsoft.DiaSymReader.Converter.Xml" Version="1.1.0-beta1-63314-01" /> <PackageReference Include="Microsoft.DiaSymReader.Converter.Xml" Version="1.1.0-beta1-63314-01" />
<PackageReference Include="Microsoft.VisualStudio.Composition" Version="15.5.23" /> <PackageReference Include="Microsoft.VisualStudio.Composition" Version="15.5.23" />
<PackageReference Include="Mono.Cecil" Version="0.10.3" /> <PackageReference Include="Mono.Cecil" Version="0.10.3" />
<PackageReference Include="OSVersionHelper" Version="1.0.11" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@ -81,9 +82,7 @@
<Compile Include="Analyzers\Builtin\TypeInstantiatedByAnalyzer.cs" /> <Compile Include="Analyzers\Builtin\TypeInstantiatedByAnalyzer.cs" />
<Compile Include="Analyzers\Builtin\TypeUsedByAnalyzer.cs" /> <Compile Include="Analyzers\Builtin\TypeUsedByAnalyzer.cs" />
<Compile Include="Analyzers\IAnalyzer.cs" /> <Compile Include="Analyzers\IAnalyzer.cs" />
<Compile Include="Analyzers\AnalyzerTreeView.cs"> <Compile Include="Analyzers\AnalyzerTreeView.cs" />
<SubType>Code</SubType>
</Compile>
<Compile Include="Analyzers\TreeNodes\AnalyzedAccessorTreeNode.cs" /> <Compile Include="Analyzers\TreeNodes\AnalyzedAccessorTreeNode.cs" />
<Compile Include="Analyzers\TreeNodes\AnalyzedEventTreeNode.cs" /> <Compile Include="Analyzers\TreeNodes\AnalyzedEventTreeNode.cs" />
<Compile Include="Analyzers\TreeNodes\AnalyzedMethodTreeNode.cs" /> <Compile Include="Analyzers\TreeNodes\AnalyzedMethodTreeNode.cs" />
@ -91,7 +90,6 @@
<Compile Include="Analyzers\TreeNodes\AnalyzedModuleTreeNode.cs" /> <Compile Include="Analyzers\TreeNodes\AnalyzedModuleTreeNode.cs" />
<Compile Include="Analyzers\TreeNodes\AnalyzedTypeTreeNode.cs" /> <Compile Include="Analyzers\TreeNodes\AnalyzedTypeTreeNode.cs" />
<Compile Include="App.xaml.cs"> <Compile Include="App.xaml.cs">
<SubType>Code</SubType>
<DependentUpon>App.xaml</DependentUpon> <DependentUpon>App.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="AssemblyList.cs" /> <Compile Include="AssemblyList.cs" />
@ -176,16 +174,13 @@
<Compile Include="Commands\OpenCommand.cs" /> <Compile Include="Commands\OpenCommand.cs" />
<Compile Include="Commands\OpenFromGacCommand.cs" /> <Compile Include="Commands\OpenFromGacCommand.cs" />
<Compile Include="NugetPackageBrowserDialog.xaml.cs"> <Compile Include="NugetPackageBrowserDialog.xaml.cs">
<SubType>Code</SubType>
<DependentUpon>NugetPackageBrowserDialog.xaml</DependentUpon> <DependentUpon>NugetPackageBrowserDialog.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="OpenFromGacDialog.xaml.cs"> <Compile Include="OpenFromGacDialog.xaml.cs">
<DependentUpon>OpenFromGacDialog.xaml</DependentUpon> <DependentUpon>OpenFromGacDialog.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile> </Compile>
<Compile Include="Controls\ResourceStringTable.xaml.cs"> <Compile Include="Controls\ResourceStringTable.xaml.cs">
<DependentUpon>ResourceStringTable.xaml</DependentUpon> <DependentUpon>ResourceStringTable.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile> </Compile>
<Compile Include="OpenListDialog.xaml.cs"> <Compile Include="OpenListDialog.xaml.cs">
<DependentUpon>OpenListDialog.xaml</DependentUpon> <DependentUpon>OpenListDialog.xaml</DependentUpon>
@ -193,7 +188,6 @@
<Compile Include="Options\DisplaySettings.cs" /> <Compile Include="Options\DisplaySettings.cs" />
<Compile Include="Options\DisplaySettingsPanel.xaml.cs"> <Compile Include="Options\DisplaySettingsPanel.xaml.cs">
<DependentUpon>DisplaySettingsPanel.xaml</DependentUpon> <DependentUpon>DisplaySettingsPanel.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile> </Compile>
<Compile Include="Options\MiscSettings.cs" /> <Compile Include="Options\MiscSettings.cs" />
<Compile Include="Options\MiscSettingsPanel.xaml.cs"> <Compile Include="Options\MiscSettingsPanel.xaml.cs">
@ -201,14 +195,12 @@
</Compile> </Compile>
<Compile Include="Options\OptionsDialog.xaml.cs"> <Compile Include="Options\OptionsDialog.xaml.cs">
<DependentUpon>OptionsDialog.xaml</DependentUpon> <DependentUpon>OptionsDialog.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile> </Compile>
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Commands\RefreshCommand.cs" /> <Compile Include="Commands\RefreshCommand.cs" />
<Compile Include="Commands\SaveCommand.cs" /> <Compile Include="Commands\SaveCommand.cs" />
<Compile Include="Search\SearchPane.cs"> <Compile Include="Search\SearchPane.cs">
<DependentUpon>SearchPane.xaml</DependentUpon> <DependentUpon>SearchPane.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile> </Compile>
<Compile Include="Commands\SimpleCommand.cs" /> <Compile Include="Commands\SimpleCommand.cs" />
<Compile Include="Search\AbstractSearchStrategy.cs" /> <Compile Include="Search\AbstractSearchStrategy.cs" />
@ -281,7 +273,6 @@
<None Include="Properties\launchSettings.json" /> <None Include="Properties\launchSettings.json" />
<Compile Include="Properties\WPFAssemblyInfo.cs" /> <Compile Include="Properties\WPFAssemblyInfo.cs" />
<Compile Include="MainWindow.xaml.cs"> <Compile Include="MainWindow.xaml.cs">
<SubType>Code</SubType>
<DependentUpon>MainWindow.xaml</DependentUpon> <DependentUpon>MainWindow.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="SessionSettings.cs" /> <Compile Include="SessionSettings.cs" />

6
ILSpy/MainWindow.xaml.cs

@ -42,6 +42,7 @@ using ICSharpCode.ILSpy.TextView;
using ICSharpCode.ILSpy.TreeNodes; using ICSharpCode.ILSpy.TreeNodes;
using ICSharpCode.TreeView; using ICSharpCode.TreeView;
using Microsoft.Win32; using Microsoft.Win32;
using OSVersionHelper;
namespace ICSharpCode.ILSpy namespace ICSharpCode.ILSpy
{ {
@ -491,6 +492,11 @@ namespace ICSharpCode.ILSpy
public void ShowMessageIfUpdatesAvailableAsync(ILSpySettings spySettings, bool forceCheck = false) public void ShowMessageIfUpdatesAvailableAsync(ILSpySettings spySettings, bool forceCheck = false)
{ {
// Don't check for updates if we're in an MSIX since they work differently
if(WindowsVersionHelper.HasPackageIdentity) {
return;
}
Task<string> result; Task<string> result;
if (forceCheck) { if (forceCheck) {
result = AboutPage.CheckForUpdatesAsync(spySettings); result = AboutPage.CheckForUpdatesAsync(spySettings);

8
SharpTreeView/ICSharpCode.TreeView.csproj

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project Sdk="MSBuild.Sdk.Extras"> <Project Sdk="MSBuild.Sdk.Extras">
<PropertyGroup> <PropertyGroup>
@ -7,7 +7,7 @@
<GenerateAssemblyInfo>False</GenerateAssemblyInfo> <GenerateAssemblyInfo>False</GenerateAssemblyInfo>
<EnableDefaultItems>false</EnableDefaultItems> <EnableDefaultItems>false</EnableDefaultItems>
<ExtrasEnableWpfProjectSetup>true</ExtrasEnableWpfProjectSetup> <UseWpf>true</UseWpf>
<ExtrasEnableDefaultPageItems>false</ExtrasEnableDefaultPageItems> <ExtrasEnableDefaultPageItems>false</ExtrasEnableDefaultPageItems>
<ExtrasEnableDefaultResourceItems>false</ExtrasEnableDefaultResourceItems> <ExtrasEnableDefaultResourceItems>false</ExtrasEnableDefaultResourceItems>
@ -48,9 +48,7 @@
<Compile Include="GeneralAdorner.cs" /> <Compile Include="GeneralAdorner.cs" />
<Compile Include="InsertMarker.cs" /> <Compile Include="InsertMarker.cs" />
<Compile Include="LinesRenderer.cs" /> <Compile Include="LinesRenderer.cs" />
<Compile Include="Properties\AssemblyInfo.cs"> <Compile Include="Properties\AssemblyInfo.cs" />
<SubType>Code</SubType>
</Compile>
<Compile Include="Properties\GlobalAssemblyInfo.cs" /> <Compile Include="Properties\GlobalAssemblyInfo.cs" />
<Compile Include="FlatListTreeNode.cs" /> <Compile Include="FlatListTreeNode.cs" />
<Compile Include="SharpGridView.cs" /> <Compile Include="SharpGridView.cs" />

3
TestPlugin/TestPlugin.csproj

@ -8,7 +8,7 @@
<GenerateAssemblyInfo>False</GenerateAssemblyInfo> <GenerateAssemblyInfo>False</GenerateAssemblyInfo>
<EnableDefaultItems>False</EnableDefaultItems> <EnableDefaultItems>False</EnableDefaultItems>
<ExtrasEnableWpfProjectSetup>true</ExtrasEnableWpfProjectSetup> <UseWpf>true</UseWpf>
<ExtrasEnableDefaultPageItems>false</ExtrasEnableDefaultPageItems> <ExtrasEnableDefaultPageItems>false</ExtrasEnableDefaultPageItems>
<ExtrasEnableDefaultResourceItems>false</ExtrasEnableDefaultResourceItems> <ExtrasEnableDefaultResourceItems>false</ExtrasEnableDefaultResourceItems>
</PropertyGroup> </PropertyGroup>
@ -44,7 +44,6 @@
<Compile Include="CustomLanguage.cs" /> <Compile Include="CustomLanguage.cs" />
<Compile Include="CustomOptionPage.xaml.cs"> <Compile Include="CustomOptionPage.xaml.cs">
<DependentUpon>CustomOptionPage.xaml</DependentUpon> <DependentUpon>CustomOptionPage.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile> </Compile>
<Compile Include="MainMenuCommand.cs" /> <Compile Include="MainMenuCommand.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />

100
azure-pipelines.yml

@ -0,0 +1,100 @@
trigger:
- master
- msix
- 3.2.x
pr:
- master
- 3.2.x
variables:
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
BuildPlatform: Any CPU
jobs:
- job: Build
pool:
vmImage: windows-2019
strategy:
matrix:
Config_Release_Zip:
BuildConfiguration: Release
ReleaseChannel: Zip
Solution: ILSpy.sln
Config_Debug_Zip:
BuildConfiguration: Debug
ReleaseChannel: Zip
Solution: ILSpy.sln
Config_Release_CI:
BuildConfiguration: Release
ReleaseChannel: CI
Solution: ILSpy.WithPackage.sln
Config_Release_Store:
BuildConfiguration: Release
ReleaseChannel: Store
Solution: ILSpy.WithPackage.sln
steps:
- checkout: self
submodules: recursive
- task: DotNetCoreInstaller@0
inputs:
version: '3.0.100-preview5-011568'
- powershell: .\BuildTools\pipelines-install.ps1
displayName: Install
- task: MSBuild@1
displayName: Restore ILSpy
inputs:
solution: $(Solution)
msbuildArguments: /t:restore
configuration: $(BuildConfiguration)
platform: $(BuildPlatform)
- task: MSBuild@1
displayName: Build ILSpy
inputs:
solution: $(Solution)
msbuildArguments: /p:AppxPackageDir="$(Build.ArtifactStagingDirectory)\$(ReleaseChannel)\\"
configuration: $(BuildConfiguration)
platform: $(BuildPlatform)
maximumCpuCount: true
- task: VSTest@2
displayName: Test
inputs:
testSelector: testAssemblies
testAssemblyVer2: |
ICSharpCode.Decompiler.Tests\bin\$(BuildConfiguration)\net462\ICSharpCode.Decompiler.Tests.exe
ILSpy.Tests\bin\$(BuildConfiguration)\net462\ILSpy.Tests.exe
ILSpy.BamlDecompiler.Tests\bin\$(BuildConfiguration)\net462\ILSpy.BamlDecompiler.Tests.dll
- task: ArchiveFiles@1
displayName: Create zip
inputs:
archiveType: zip
rootFolder: ILSpy/bin/$(BuildConfiguration)/net462
archiveFile: $(Build.ArtifactStagingDirectory)\$(ReleaseChannel)\ILSpy.$(Build.BuildNumber).zip
includeRootFolder: false
condition: and(succeeded(), eq(variables['ReleaseChannel'], 'Zip'))
- script: python BuildTools\tidy.py
displayName: Tab check
- task: CopyFiles@2
displayName: Move VSIX to publish directory
inputs:
contents: |
**\*.vsix
**\*.nupkg
targetFolder: $(Build.ArtifactStagingDirectory)\$(ReleaseChannel)
flattenFolders: true
condition: and(succeeded(), eq(variables['ReleaseChannel'], 'Zip'))
- task: PublishPipelineArtifact@0
displayName: Publish $(ReleaseChannel) $(BuildConfiguration)
inputs:
targetPath: $(Build.ArtifactStagingDirectory)\$(ReleaseChannel)
artifactName: $(ReleaseChannel) - $(BuildConfiguration)

5
global.json

@ -1,5 +1,8 @@
{ {
"msbuild-sdks": { "msbuild-sdks": {
"MSBuild.Sdk.Extras": "1.6.65" "MSBuild.Sdk.Extras": "2.0.24"
},
"sdk": {
"version": "3.0.100-preview"
} }
} }

Loading…
Cancel
Save