diff --git a/FluentTerminal.App.Services/Dialogs/IAboutDialog.cs b/FluentTerminal.App.Services/Dialogs/IAboutDialog.cs new file mode 100644 index 0000000..fed922c --- /dev/null +++ b/FluentTerminal.App.Services/Dialogs/IAboutDialog.cs @@ -0,0 +1,9 @@ +using System.Threading.Tasks; + +namespace FluentTerminal.App.Services.Dialogs +{ + public interface IAboutDialog + { + Task ShowAsync(); + } +} diff --git a/FluentTerminal.App.Services/IDialogService.cs b/FluentTerminal.App.Services/IDialogService.cs index 8a5c446..8d7aeb6 100644 --- a/FluentTerminal.App.Services/IDialogService.cs +++ b/FluentTerminal.App.Services/IDialogService.cs @@ -23,5 +23,7 @@ namespace FluentTerminal.App.Services Task ShowCustomCommandDialogAsync(ShellProfile input = null); Task ShowSshProfileSelectionDialogAsync(); + + Task ShowAboutDialogAsync(); } } \ No newline at end of file diff --git a/FluentTerminal.App.Services/Implementation/DialogService.cs b/FluentTerminal.App.Services/Implementation/DialogService.cs index 5184270..a67ad06 100644 --- a/FluentTerminal.App.Services/Implementation/DialogService.cs +++ b/FluentTerminal.App.Services/Implementation/DialogService.cs @@ -14,12 +14,14 @@ namespace FluentTerminal.App.Services.Implementation private readonly Func _sshConnectionInfoDialogFactory; private readonly Func _customCommandDialogFactory; private readonly Func _sshProfileSelectionDialogFactory; + private readonly Func _aboutDialogFactory; public DialogService(Func shellProfileSelectionDialogFactory, Func messageDialogFactory, Func createKeyBindingDialogFactory, Func inputDialogFactory, Func sshConnectionInfoDialogFactory, Func customCommandDialogFactory, - Func sshProfileSelectionDialogFactory) + Func sshProfileSelectionDialogFactory, + Func aboutDialogFactory) { _shellProfileSelectionDialogFactory = shellProfileSelectionDialogFactory; _messageDialogFactory = messageDialogFactory; @@ -28,6 +30,7 @@ namespace FluentTerminal.App.Services.Implementation _sshConnectionInfoDialogFactory = sshConnectionInfoDialogFactory; _customCommandDialogFactory = customCommandDialogFactory; _sshProfileSelectionDialogFactory = sshProfileSelectionDialogFactory; + _aboutDialogFactory = aboutDialogFactory; } public Task ShowCreateKeyBindingDialog() @@ -93,5 +96,12 @@ namespace FluentTerminal.App.Services.Implementation return dialog.SelectProfile(); } + + public Task ShowAboutDialogAsync() + { + var dialog = _aboutDialogFactory(); + + return dialog.ShowAsync(); + } } } \ No newline at end of file diff --git a/FluentTerminal.App.ViewModels/MainViewModel.cs b/FluentTerminal.App.ViewModels/MainViewModel.cs index e7aeb0b..73226e3 100644 --- a/FluentTerminal.App.ViewModels/MainViewModel.cs +++ b/FluentTerminal.App.ViewModels/MainViewModel.cs @@ -1,6 +1,7 @@ using FluentTerminal.App.Services; using FluentTerminal.App.Services.EventArgs; using FluentTerminal.App.Services.Utilities; +using FluentTerminal.App.ViewModels.Infrastructure; using FluentTerminal.Models; using FluentTerminal.Models.Enums; using GalaSoft.MvvmLight; @@ -97,7 +98,7 @@ namespace FluentTerminal.App.ViewModels AddLocalShellCommand = new RelayCommand(async () => await AddLocalTabAsync()); AddSshShellCommand = new RelayCommand(async () => await AddSshTabAsync()); AddQuickShellCommand = new RelayCommand(async () => await AddCustomCommandTabAsync()); - ShowAboutCommand = new RelayCommand(ShowAbout); + ShowAboutCommand = new AsyncCommand(ShowAbout); ShowSettingsCommand = new RelayCommand(ShowSettings); ApplicationView.CloseRequested += OnCloseRequest; @@ -163,8 +164,6 @@ namespace FluentTerminal.App.ViewModels public event EventHandler ShowSettingsRequested; - public event EventHandler ShowAboutRequested; - public event EventHandler ActivatedMv; public event EventHandler TabTearedOff; @@ -245,7 +244,7 @@ namespace FluentTerminal.App.ViewModels } } - public RelayCommand ShowAboutCommand { get; private set; } + public IAsyncCommand ShowAboutCommand { get; private set; } public RelayCommand ShowSettingsCommand { get; private set; } @@ -611,9 +610,9 @@ namespace FluentTerminal.App.ViewModels SelectedTerminal = Terminals[previousIndex]; } - private void ShowAbout() + private Task ShowAbout() { - ShowAboutRequested?.Invoke(this, EventArgs.Empty); + return _dialogService.ShowAboutDialogAsync(); } private void ShowSettings() diff --git a/FluentTerminal.App.ViewModels/SettingsViewModel.cs b/FluentTerminal.App.ViewModels/SettingsViewModel.cs index aa6950a..89ef5d2 100644 --- a/FluentTerminal.App.ViewModels/SettingsViewModel.cs +++ b/FluentTerminal.App.ViewModels/SettingsViewModel.cs @@ -9,10 +9,9 @@ namespace FluentTerminal.App.ViewModels { public SettingsViewModel(ISettingsService settingsService, IDefaultValueProvider defaultValueProvider, IDialogService dialogService, ITrayProcessCommunicationService trayProcessCommunicationService, IThemeParserFactory themeParserFactory, ISystemFontService systemFontService, - IFileSystemService fileSystemService, IStartupTaskService startupTaskService, IUpdateService updateService, IApplicationView applicationView, + IFileSystemService fileSystemService, IStartupTaskService startupTaskService, IApplicationView applicationView, IApplicationLanguageService applicationLanguageService, ApplicationDataContainers containers) { - About = new AboutPageViewModel(updateService, applicationView); KeyBindings = new KeyBindingsPageViewModel(settingsService, dialogService, trayProcessCommunicationService); General = new GeneralPageViewModel(settingsService, dialogService, defaultValueProvider, startupTaskService, applicationLanguageService, trayProcessCommunicationService, fileSystemService); Profiles = new ProfilesPageViewModel(settingsService, dialogService, defaultValueProvider, fileSystemService, applicationView); @@ -24,7 +23,6 @@ namespace FluentTerminal.App.ViewModels } public event EventHandler Closed; - public event EventHandler AboutPageRequested; public GeneralPageViewModel General { get; } public KeyBindingsPageViewModel KeyBindings { get; } @@ -32,14 +30,8 @@ namespace FluentTerminal.App.ViewModels public TerminalPageViewModel Terminal { get; } public ThemesPageViewModel Themes { get; } public MousePageViewModel Mouse { get; } - public AboutPageViewModel About { get; } public SshProfilesPageViewModel SshProfiles { get; } - public void NavigateToAboutPage() - { - AboutPageRequested?.Invoke(this, EventArgs.Empty); - } - public void Close() { Closed?.Invoke(this, EventArgs.Empty); diff --git a/FluentTerminal.App/App.xaml.cs b/FluentTerminal.App/App.xaml.cs index 7b70000..046d1f6 100755 --- a/FluentTerminal.App/App.xaml.cs +++ b/FluentTerminal.App/App.xaml.cs @@ -96,6 +96,7 @@ namespace FluentTerminal.App builder.RegisterType().As().InstancePerDependency(); builder.RegisterType().As().InstancePerDependency(); builder.RegisterType().As().InstancePerDependency(); + builder.RegisterType().As().InstancePerDependency(); builder.RegisterType().As().InstancePerDependency(); builder.RegisterType().As().InstancePerDependency(); builder.RegisterType().As().InstancePerDependency(); @@ -529,7 +530,6 @@ namespace FluentTerminal.App mainViewModel.Closed += OnMainViewModelClosed; mainViewModel.NewWindowRequested += OnNewWindowRequested; mainViewModel.ShowSettingsRequested += OnShowSettingsRequested; - mainViewModel.ShowAboutRequested += OnShowAboutRequested; mainViewModel.ActivatedMv += OnMainViewActivated; mainViewModel.TabTearedOff += OnTabTearOff; _mainViewModels.Add(mainViewModel); @@ -547,7 +547,6 @@ namespace FluentTerminal.App viewModel.Closed += OnMainViewModelClosed; viewModel.NewWindowRequested += OnNewWindowRequested; viewModel.ShowSettingsRequested += OnShowSettingsRequested; - viewModel.ShowAboutRequested += OnShowAboutRequested; viewModel.ActivatedMv += OnMainViewActivated; viewModel.TabTearedOff += OnTabTearOff; _mainViewModels.Add(viewModel); @@ -599,7 +598,6 @@ namespace FluentTerminal.App viewModel.Closed -= OnMainViewModelClosed; viewModel.NewWindowRequested -= OnNewWindowRequested; viewModel.ShowSettingsRequested -= OnShowSettingsRequested; - viewModel.ShowAboutRequested -= OnShowAboutRequested; viewModel.ActivatedMv -= OnMainViewActivated; viewModel.TabTearedOff -= OnTabTearOff; if (_activeWindowId == viewModel.ApplicationView.Id) @@ -699,22 +697,11 @@ namespace FluentTerminal.App _settingsWindowId = null; } - private void OnShowAboutRequested(object sender, EventArgs e) - { - ShowAbout().ConfigureAwait(true); - } - private async void OnShowSettingsRequested(object sender, EventArgs e) { await ShowSettings().ConfigureAwait(true); } - private async Task ShowAbout() - { - await ShowSettings().ConfigureAwait(true); - _settingsViewModel.NavigateToAboutPage(); - } - private async Task CreateTerminal(ShellProfile profile, NewTerminalLocation location, ActivationViewSwitcher viewSwitcher = null) { async Task ShowAsStandaloneAsync(MainViewModel viewModel) diff --git a/FluentTerminal.App/Dialogs/AboutDialog.xaml b/FluentTerminal.App/Dialogs/AboutDialog.xaml new file mode 100644 index 0000000..cb4edcb --- /dev/null +++ b/FluentTerminal.App/Dialogs/AboutDialog.xaml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FluentTerminal.App/Dialogs/AboutDialog.xaml.cs b/FluentTerminal.App/Dialogs/AboutDialog.xaml.cs new file mode 100644 index 0000000..fa614bc --- /dev/null +++ b/FluentTerminal.App/Dialogs/AboutDialog.xaml.cs @@ -0,0 +1,38 @@ +using FluentTerminal.App.Services; +using FluentTerminal.App.Services.Dialogs; +using FluentTerminal.App.Utilities; +using System; +using System.Threading.Tasks; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Documents; + +namespace FluentTerminal.App.Dialogs +{ + public sealed partial class AboutDialog : ContentDialog, IAboutDialog + { + public AboutDialog(ISettingsService settingsService, IUpdateService updateService) + { + this.InitializeComponent(); + var currentTheme = settingsService.GetCurrentTheme(); + RequestedTheme = ContrastHelper.GetIdealThemeForBackgroundColor(currentTheme.Colors.Background); + + CreatedBy.Inlines.Add(new Run { Text = "Created by " }); + CreatedBy.Inlines.Add(new Italic { Inlines = { new Run { Text = "felixse " } } }); + CreatedBy.Inlines.Add(new Run { Text = "and " }); + CreatedBy.Inlines.Add(new Hyperlink { Inlines = { new Run { Text = "contributors" } }, NavigateUri = new Uri("https://github.com/felixse/FluentTerminal/graphs/contributors") }); + + CurrentVersion.Text = updateService.GetCurrentVersion().ToString(); + ReleaseNotesHyperlink.NavigateUri = new Uri("https://github.com/felixse/FluentTerminal/releases/tag/" + CurrentVersion.Text); + } + + public new Task ShowAsync() + { + return base.ShowAsync().AsTask(); + } + + private void ContentDialog_CloseButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args) + { + Hide(); + } + } +} diff --git a/FluentTerminal.App/Dialogs/InputDialog.xaml.cs b/FluentTerminal.App/Dialogs/InputDialog.xaml.cs index 52187ee..9910791 100644 --- a/FluentTerminal.App/Dialogs/InputDialog.xaml.cs +++ b/FluentTerminal.App/Dialogs/InputDialog.xaml.cs @@ -5,6 +5,8 @@ using System; using Windows.UI.Xaml.Input; using Windows.System; using FluentTerminal.App.Services.Utilities; +using FluentTerminal.App.Services; +using FluentTerminal.App.Utilities; namespace FluentTerminal.App.Dialogs { @@ -14,11 +16,13 @@ namespace FluentTerminal.App.Dialogs private bool EnterPressed = false; public string Input { get; private set; } - public InputDialog() + public InputDialog(ISettingsService settingsService) { this.InitializeComponent(); this.PrimaryButtonText = I18N.Translate("OK"); this.CloseButtonText = I18N.Translate("Cancel"); + var currentTheme = settingsService.GetCurrentTheme(); + RequestedTheme = ContrastHelper.GetIdealThemeForBackgroundColor(currentTheme.Colors.Background); } public async Task GetInput() diff --git a/FluentTerminal.App/FluentTerminal.App.csproj b/FluentTerminal.App/FluentTerminal.App.csproj index 6896024..6e7b013 100644 --- a/FluentTerminal.App/FluentTerminal.App.csproj +++ b/FluentTerminal.App/FluentTerminal.App.csproj @@ -134,6 +134,9 @@ + + AboutDialog.xaml + @@ -182,9 +185,6 @@ SettingsPage.xaml - - About.xaml - MouseSettings.xaml @@ -259,6 +259,10 @@ MSBuild:Compile Designer + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -308,10 +312,6 @@ Designer MSBuild:Compile - - MSBuild:Compile - Designer - Designer MSBuild:Compile @@ -416,6 +416,47 @@ 14.0 + + bin\x86\Store\ + TRACE;NETFX_CORE;WINDOWS_UWP;CODE_ANALYSIS + true + ;2008 + true + pdbonly + x86 + false + 7.1 + prompt + MinimumRecommendedRules.ruleset + true + + + bin\ARM\Store\ + TRACE;NETFX_CORE;WINDOWS_UWP;CODE_ANALYSIS + true + ;2008 + true + pdbonly + ARM + false + prompt + MinimumRecommendedRules.ruleset + true + + + bin\x64\Store\ + TRACE;NETFX_CORE;WINDOWS_UWP;CODE_ANALYSIS + true + ;2008 + true + pdbonly + x64 + false + 7.1 + prompt + MinimumRecommendedRules.ruleset + true + diff --git a/FluentTerminal.App/Strings/de/Resources.resw b/FluentTerminal.App/Strings/de/Resources.resw index 8e36ed3..faec8e8 100644 --- a/FluentTerminal.App/Strings/de/Resources.resw +++ b/FluentTerminal.App/Strings/de/Resources.resw @@ -117,9 +117,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + Über - MainPage.xaml + MainPage.xaml +Fuzzy Hintergrund @@ -129,9 +130,10 @@ Blau TabBar.xaml - + Schließen - TabBar.xaml + TabBar.xaml +Fuzzy Nachfragen bevor Fenster geschlossen wird diff --git a/FluentTerminal.App/Strings/en/Resources.resw b/FluentTerminal.App/Strings/en/Resources.resw index 871af85..6f7db5e 100644 --- a/FluentTerminal.App/Strings/en/Resources.resw +++ b/FluentTerminal.App/Strings/en/Resources.resw @@ -117,9 +117,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + About - MainPage.xaml + MainPage.xaml +Fuzzy Background @@ -130,9 +131,10 @@ TabBar.xaml Fuzzy - + Close - TabBar.xaml + TabBar.xaml +Fuzzy Ask before closing windows diff --git a/FluentTerminal.App/Strings/es/Resources.resw b/FluentTerminal.App/Strings/es/Resources.resw index 9adde66..3564709 100644 --- a/FluentTerminal.App/Strings/es/Resources.resw +++ b/FluentTerminal.App/Strings/es/Resources.resw @@ -117,9 +117,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + Acerca de... - MainPage.xaml + MainPage.xaml +Fuzzy Fondo @@ -129,9 +130,10 @@ Azul TabBar.xaml - + Cerrar - TabBar.xaml + TabBar.xaml +Fuzzy Preguntar antes de cerrar las ventanas diff --git a/FluentTerminal.App/Strings/fr/Resources.resw b/FluentTerminal.App/Strings/fr/Resources.resw index 6be03aa..a3ba98b 100644 --- a/FluentTerminal.App/Strings/fr/Resources.resw +++ b/FluentTerminal.App/Strings/fr/Resources.resw @@ -117,9 +117,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + A propos - MainPage.xaml + MainPage.xaml +Fuzzy Fond @@ -130,9 +131,10 @@ TabBar.xaml Fuzzy - + Fermer - TabBar.xaml + TabBar.xaml +Fuzzy Demander avant de fermer la fenêtre diff --git a/FluentTerminal.App/Strings/ru/Resources.resw b/FluentTerminal.App/Strings/ru/Resources.resw index 342cdd4..222b4e2 100644 --- a/FluentTerminal.App/Strings/ru/Resources.resw +++ b/FluentTerminal.App/Strings/ru/Resources.resw @@ -117,9 +117,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + О программе - MainPage.xaml + MainPage.xaml +Fuzzy Фон @@ -129,9 +130,10 @@ Синий TabBar.xaml - + Закрыть - TabBar.xaml + TabBar.xaml +Fuzzy Подтверждать закрытие окон diff --git a/FluentTerminal.App/Strings/zh-CN/Resources.resw b/FluentTerminal.App/Strings/zh-CN/Resources.resw index 2a78472..c324e74 100644 --- a/FluentTerminal.App/Strings/zh-CN/Resources.resw +++ b/FluentTerminal.App/Strings/zh-CN/Resources.resw @@ -117,9 +117,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + 关于 - MainPage.xaml + MainPage.xaml +Fuzzy 背景色 @@ -129,9 +130,10 @@ 蓝色 TabBar.xaml - + 关闭 - TabBar.xaml + TabBar.xaml +Fuzzy 在关闭窗口之前询问 diff --git a/FluentTerminal.App/Views/MainPage.xaml b/FluentTerminal.App/Views/MainPage.xaml index f2ceb2c..c2e8c3c 100644 --- a/FluentTerminal.App/Views/MainPage.xaml +++ b/FluentTerminal.App/Views/MainPage.xaml @@ -54,16 +54,12 @@ - + - + @@ -73,9 +69,7 @@ - + - + + TabWindowChanged="TabView_Drop" + Visibility="{x:Bind ViewModel.ShowTabsOnTop, Mode=OneWay}" /> - - + + + TabWindowChanged="TabView_Drop" + Visibility="{x:Bind ViewModel.ShowTabsOnBottom, Mode=OneWay}" /> \ No newline at end of file diff --git a/FluentTerminal.App/Views/SettingsPage.xaml b/FluentTerminal.App/Views/SettingsPage.xaml index b762fb5..824627f 100644 --- a/FluentTerminal.App/Views/SettingsPage.xaml +++ b/FluentTerminal.App/Views/SettingsPage.xaml @@ -109,19 +109,6 @@ x:Uid="Setting_Hidden" Visibility="Collapsed" /> - - - - - - - - { - // Deselect item in NavigationView (https://stackoverflow.com/a/49082640/4132379) - NavigationView.SelectedItem = Setting_Hidden; - ContentFrame.Navigate(typeof(About), ViewModel.About); - }); - } - private void NavigationView_Loaded(object sender, RoutedEventArgs e) { NavigationView.SelectedItem = NavigationView.MenuItems.Cast().FirstOrDefault(m => m.Tag.ToString() == "general"); @@ -137,11 +124,6 @@ namespace FluentTerminal.App.Views } } - private void AboutTapped(object sender, TappedRoutedEventArgs e) - { - OnAboutPageRequested(sender, EventArgs.Empty); - } - private void SettingsPage_CloseRequested(object sender, SystemNavigationCloseRequestedPreviewEventArgs e) { ViewModel.Close(); diff --git a/FluentTerminal.App/Views/SettingsPages/About.xaml b/FluentTerminal.App/Views/SettingsPages/About.xaml deleted file mode 100644 index 8e3b1de..0000000 --- a/FluentTerminal.App/Views/SettingsPages/About.xaml +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not found - - - - - - - - - - - - - GNU General Public License v3.0 - - - - - - - - - diff --git a/FluentTerminal.App/Views/SettingsPages/About.xaml.cs b/FluentTerminal.App/Views/SettingsPages/About.xaml.cs deleted file mode 100644 index 21f5c06..0000000 --- a/FluentTerminal.App/Views/SettingsPages/About.xaml.cs +++ /dev/null @@ -1,31 +0,0 @@ -using FluentTerminal.App.ViewModels.Settings; -using System; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Documents; -using Windows.UI.Xaml.Navigation; - -namespace FluentTerminal.App.Views.SettingsPages -{ - public sealed partial class About : Page - { - public AboutPageViewModel ViewModel { get; private set; } - - public About() - { - InitializeComponent(); - CreatedBy.Inlines.Add(new Run { Text = "Created by " }); - CreatedBy.Inlines.Add(new Italic { Inlines = { new Run { Text = "felixse " } } }); - CreatedBy.Inlines.Add(new Run { Text = "and " }); - CreatedBy.Inlines.Add(new Hyperlink { Inlines = { new Run { Text = "contributors" } }, NavigateUri = new Uri("https://github.com/felixse/FluentTerminal/graphs/contributors") }); - } - - protected override void OnNavigatedTo(NavigationEventArgs e) - { - if (e.Parameter is AboutPageViewModel viewModel) - { - ViewModel = viewModel; - } - ViewModel.OnNavigatedTo(); - } - } -} \ No newline at end of file diff --git a/FluentTerminal.Package/FluentTerminal.Package.wapproj b/FluentTerminal.Package/FluentTerminal.Package.wapproj index 4cf113e..cd69ad8 100644 --- a/FluentTerminal.Package/FluentTerminal.Package.wapproj +++ b/FluentTerminal.Package/FluentTerminal.Package.wapproj @@ -44,6 +44,26 @@ Release AnyCPU + + Store + AnyCPU + + + Store + ARM + + + Store + ARM64 + + + Store + x64 + + + Store + x86 + diff --git a/FluentTerminal.RuntimeComponent/FluentTerminal.RuntimeComponent.csproj b/FluentTerminal.RuntimeComponent/FluentTerminal.RuntimeComponent.csproj index 923442f..d3ed65a 100644 --- a/FluentTerminal.RuntimeComponent/FluentTerminal.RuntimeComponent.csproj +++ b/FluentTerminal.RuntimeComponent/FluentTerminal.RuntimeComponent.csproj @@ -120,6 +120,53 @@ 14.0 + + bin\Store\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + true + pdbonly + AnyCPU + false + prompt + MinimumRecommendedRules.ruleset + + + bin\x86\Store\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + true + pdbonly + x86 + false + prompt + MinimumRecommendedRules.ruleset + + + bin\ARM\Store\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + true + pdbonly + ARM + false + prompt + MinimumRecommendedRules.ruleset + + + bin\x64\Store\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + true + pdbonly + x64 + false + prompt + MinimumRecommendedRules.ruleset +