Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions src/Notepads.Services/InteropConnectionService.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
namespace Notepads.Services
{
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Windows.ApplicationModel;
using Windows.ApplicationModel.AppService;
using Windows.ApplicationModel.Background;

public sealed class InteropConnectionService : IBackgroundTask
{
private BackgroundTaskDeferral backgroundTaskDeferral;
private AppServiceConnection appServiceConnection;
private static IList<AppServiceConnection> appServiceConnections = new List<AppServiceConnection>();

public void Run(IBackgroundTaskInstance taskInstance)
{
// Get a deferral so that the service isn't terminated.
this.backgroundTaskDeferral = taskInstance.GetDeferral();

// Retrieve the app service connection and set up a listener for incoming app service requests.
var details = taskInstance.TriggerDetails as AppServiceTriggerDetails;
if(details.CallerPackageFamilyName == Package.Current.Id.FamilyName)
{
appServiceConnection = details.AppServiceConnection;
appServiceConnections.Add(appServiceConnection);
appServiceConnection.RequestReceived += OnRequestReceived;

// Associate a cancellation handler with the background task.
taskInstance.Canceled += OnTaskCanceled;
}
else
{
this.backgroundTaskDeferral.Complete();
}
}

private void OnRequestReceived(AppServiceConnection sender, AppServiceRequestReceivedEventArgs args)
{
Parallel.ForEach(appServiceConnections, async (serviceConnection) =>
{
if (serviceConnection != appServiceConnection) await serviceConnection.SendMessageAsync(args.Request.Message);
});
}

private void OnTaskCanceled(IBackgroundTaskInstance sender, BackgroundTaskCancellationReason reason)
{
if (this.backgroundTaskDeferral != null)
{
// Complete the service deferral.
this.backgroundTaskDeferral.Complete();
var details = sender.TriggerDetails as AppServiceTriggerDetails;
appServiceConnections.Remove(details.AppServiceConnection);
}
}
}
}
143 changes: 143 additions & 0 deletions src/Notepads.Services/Notepads.Services.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{29DCAA68-1B6B-4290-8C05-691F52645D55}</ProjectGuid>
<OutputType>winmdobj</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Notepads.Services</RootNamespace>
<AssemblyName>Notepads.Services</AssemblyName>
<DefaultLanguage>en-US</DefaultLanguage>
<TargetPlatformIdentifier>UAP</TargetPlatformIdentifier>
<TargetPlatformVersion Condition=" '$(TargetPlatformVersion)' == '' ">10.0.18362.0</TargetPlatformVersion>
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
<MinimumVisualStudioVersion>14</MinimumVisualStudioVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<AllowCrossPlatformRetargeting>false</AllowCrossPlatformRetargeting>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
<NoWarn>;2008</NoWarn>
<DebugType>full</DebugType>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<PlatformTarget>x86</PlatformTarget>
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
<Optimize>true</Optimize>
<NoWarn>;2008</NoWarn>
<DebugType>pdbonly</DebugType>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'">
<PlatformTarget>ARM</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\ARM\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
<NoWarn>;2008</NoWarn>
<DebugType>full</DebugType>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
<PlatformTarget>ARM</PlatformTarget>
<OutputPath>bin\ARM\Release\</OutputPath>
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
<Optimize>true</Optimize>
<NoWarn>;2008</NoWarn>
<DebugType>pdbonly</DebugType>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM64'">
<PlatformTarget>ARM64</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\ARM64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
<NoWarn>;2008</NoWarn>
<DebugType>full</DebugType>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM64'">
<PlatformTarget>ARM64</PlatformTarget>
<OutputPath>bin\ARM64\Release\</OutputPath>
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
<Optimize>true</Optimize>
<NoWarn>;2008</NoWarn>
<DebugType>pdbonly</DebugType>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<PlatformTarget>x64</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
<NoWarn>;2008</NoWarn>
<DebugType>full</DebugType>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<PlatformTarget>x64</PlatformTarget>
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
<Optimize>true</Optimize>
<NoWarn>;2008</NoWarn>
<DebugType>pdbonly</DebugType>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup>
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
</PropertyGroup>
<ItemGroup>
<Compile Include="InteropConnectionService.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform">
<Version>6.2.9</Version>
</PackageReference>
</ItemGroup>
<PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '14.0' ">
<VisualStudioVersion>14.0</VisualStudioVersion>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
29 changes: 29 additions & 0 deletions src/Notepads.Services/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
using System.Reflection;
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: AssemblyTitle("Notepads.Services")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Notepads.Services")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: ComVisible(false)]
38 changes: 38 additions & 0 deletions src/Notepads.sln
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,24 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
.editorconfig = .editorconfig
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Notepads.Services", "Notepads.Services\Notepads.Services.csproj", "{29DCAA68-1B6B-4290-8C05-691F52645D55}"
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
{99274932-9E86-480C-8142-38525F80007D}.Debug|Any CPU.ActiveCfg = Debug|x86
{99274932-9E86-480C-8142-38525F80007D}.Debug|ARM.ActiveCfg = Debug|x86
{99274932-9E86-480C-8142-38525F80007D}.Debug|ARM64.ActiveCfg = Debug|ARM64
{99274932-9E86-480C-8142-38525F80007D}.Debug|ARM64.Build.0 = Debug|ARM64
{99274932-9E86-480C-8142-38525F80007D}.Debug|ARM64.Deploy.0 = Debug|ARM64
Expand All @@ -34,6 +42,8 @@ Global
{99274932-9E86-480C-8142-38525F80007D}.Debug|x86.ActiveCfg = Debug|x86
{99274932-9E86-480C-8142-38525F80007D}.Debug|x86.Build.0 = Debug|x86
{99274932-9E86-480C-8142-38525F80007D}.Debug|x86.Deploy.0 = Debug|x86
{99274932-9E86-480C-8142-38525F80007D}.Release|Any CPU.ActiveCfg = Release|x86
{99274932-9E86-480C-8142-38525F80007D}.Release|ARM.ActiveCfg = Release|x86
{99274932-9E86-480C-8142-38525F80007D}.Release|ARM64.ActiveCfg = Release|ARM64
{99274932-9E86-480C-8142-38525F80007D}.Release|ARM64.Build.0 = Release|ARM64
{99274932-9E86-480C-8142-38525F80007D}.Release|ARM64.Deploy.0 = Release|ARM64
Expand All @@ -43,18 +53,46 @@ Global
{99274932-9E86-480C-8142-38525F80007D}.Release|x86.ActiveCfg = Release|x86
{99274932-9E86-480C-8142-38525F80007D}.Release|x86.Build.0 = Release|x86
{99274932-9E86-480C-8142-38525F80007D}.Release|x86.Deploy.0 = Release|x86
{7AA5E631-B663-420E-A08F-002CD81DF855}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7AA5E631-B663-420E-A08F-002CD81DF855}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7AA5E631-B663-420E-A08F-002CD81DF855}.Debug|ARM.ActiveCfg = Debug|ARM
{7AA5E631-B663-420E-A08F-002CD81DF855}.Debug|ARM.Build.0 = Debug|ARM
{7AA5E631-B663-420E-A08F-002CD81DF855}.Debug|ARM64.ActiveCfg = Debug|ARM64
{7AA5E631-B663-420E-A08F-002CD81DF855}.Debug|ARM64.Build.0 = Debug|ARM64
{7AA5E631-B663-420E-A08F-002CD81DF855}.Debug|x64.ActiveCfg = Debug|x64
{7AA5E631-B663-420E-A08F-002CD81DF855}.Debug|x64.Build.0 = Debug|x64
{7AA5E631-B663-420E-A08F-002CD81DF855}.Debug|x86.ActiveCfg = Debug|x86
{7AA5E631-B663-420E-A08F-002CD81DF855}.Debug|x86.Build.0 = Debug|x86
{7AA5E631-B663-420E-A08F-002CD81DF855}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7AA5E631-B663-420E-A08F-002CD81DF855}.Release|Any CPU.Build.0 = Release|Any CPU
{7AA5E631-B663-420E-A08F-002CD81DF855}.Release|ARM.ActiveCfg = Release|ARM
{7AA5E631-B663-420E-A08F-002CD81DF855}.Release|ARM.Build.0 = Release|ARM
{7AA5E631-B663-420E-A08F-002CD81DF855}.Release|ARM64.ActiveCfg = Release|ARM64
{7AA5E631-B663-420E-A08F-002CD81DF855}.Release|ARM64.Build.0 = Release|ARM64
{7AA5E631-B663-420E-A08F-002CD81DF855}.Release|x64.ActiveCfg = Release|x64
{7AA5E631-B663-420E-A08F-002CD81DF855}.Release|x64.Build.0 = Release|x64
{7AA5E631-B663-420E-A08F-002CD81DF855}.Release|x86.ActiveCfg = Release|x86
{7AA5E631-B663-420E-A08F-002CD81DF855}.Release|x86.Build.0 = Release|x86
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Debug|Any CPU.Build.0 = Debug|Any CPU
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Debug|ARM.ActiveCfg = Debug|ARM
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Debug|ARM.Build.0 = Debug|ARM
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Debug|ARM64.ActiveCfg = Debug|ARM64
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Debug|ARM64.Build.0 = Debug|ARM64
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Debug|x64.ActiveCfg = Debug|x64
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Debug|x64.Build.0 = Debug|x64
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Debug|x86.ActiveCfg = Debug|x86
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Debug|x86.Build.0 = Debug|x86
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Release|Any CPU.ActiveCfg = Release|Any CPU
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Release|Any CPU.Build.0 = Release|Any CPU
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Release|ARM.ActiveCfg = Release|ARM
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Release|ARM.Build.0 = Release|ARM
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Release|ARM64.ActiveCfg = Release|ARM64
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Release|ARM64.Build.0 = Release|ARM64
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Release|x64.ActiveCfg = Release|x64
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Release|x64.Build.0 = Release|x64
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Release|x86.ActiveCfg = Release|x86
{29DCAA68-1B6B-4290-8C05-691F52645D55}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
1 change: 0 additions & 1 deletion src/Notepads/App.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,6 @@ private async Task ActivateAsync(IActivatedEventArgs e)
{
{ "OSArchitecture", SystemInformation.OperatingSystemArchitecture.ToString() },
{ "OSVersion", $"{SystemInformation.OperatingSystemVersion.Major}.{SystemInformation.OperatingSystemVersion.Minor}.{SystemInformation.OperatingSystemVersion.Build}" },
{ "UseWindowsTheme", ThemeSettingsService.UseWindowsTheme.ToString() },
{ "ThemeMode", ThemeSettingsService.ThemeMode.ToString() },
{ "UseWindowsAccentColor", ThemeSettingsService.UseWindowsAccentColor.ToString() },
{ "AppBackgroundTintOpacity", $"{(int) (ThemeSettingsService.AppBackgroundPanelTintOpacity * 10.0) * 10}" },
Expand Down
15 changes: 14 additions & 1 deletion src/Notepads/Notepads.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,8 @@
<Compile Include="Controls\TextEditor\TextEditorCore.LineHighlighter.cs" />
<Compile Include="Controls\TextEditor\TextEditorCore.LineNumbers.cs" />
<Compile Include="Extensions\DispatcherExtensions.cs" />
<Compile Include="Services\InteropService.cs" />
<Compile Include="Settings\SettingsDelegate.cs" />
<Compile Include="Extensions\ScrollViewerExtensions.cs" />
<Compile Include="Views\Settings\AboutPage.xaml.cs">
<DependentUpon>AboutPage.xaml</DependentUpon>
Expand Down Expand Up @@ -615,9 +617,15 @@
<Project>{7aa5e631-b663-420e-a08f-002cd81df855}</Project>
<Name>Notepads.Controls</Name>
</ProjectReference>
<ProjectReference Include="..\Notepads.Services\Notepads.Services.csproj">
<Project>{29dcaa68-1b6b-4290-8c05-691f52645d55}</Project>
<Name>Notepads.Services</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<PRIResource Include="Strings\en-US\Resources.resw" />
<PRIResource Include="Strings\en-US\Resources.resw">
<SubType>Designer</SubType>
</PRIResource>
</ItemGroup>
<ItemGroup>
<PRIResource Include="Strings\es-ES\Resources.resw" />
Expand Down Expand Up @@ -823,6 +831,11 @@
<ItemGroup>
<PRIResource Include="Strings\zh-TW\Manifest.resw" />
</ItemGroup>
<ItemGroup>
<SDKReference Include="WindowsDesktop, Version=10.0.17763.0">
<Name>Windows Desktop Extensions for the UWP</Name>
</SDKReference>
</ItemGroup>
<PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '14.0' ">
<VisualStudioVersion>14.0</VisualStudioVersion>
</PropertyGroup>
Expand Down
6 changes: 5 additions & 1 deletion src/Notepads/Package.appxmanifest
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"
xmlns:iot2="http://schemas.microsoft.com/appx/manifest/iot/windows10/2"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap mp uap5 desktop4 iot2 rescap">
IgnorableNamespaces="mp uap uap3 uap5 desktop4 iot2 rescap">

<Identity
Name="Notepads"
Expand Down Expand Up @@ -77,6 +78,9 @@
<uap:Logo>Assets\FileIcons\txt.png</uap:Logo>
</uap:FileTypeAssociation>
</uap:Extension>
<uap:Extension Category="windows.appService" EntryPoint="Notepads.Services.InteropConnectionService">
<uap3:AppService Name="InteropServiceConnection"/>
</uap:Extension>
<uap:Extension Category="windows.fileTypeAssociation">
<uap:FileTypeAssociation Name="config">
<uap:SupportedFileTypes>
Expand Down
Loading