UWP graph-исключение из руководства по this.InitializeComponent();

#c# #uwp

#c# #uwp

Вопрос:

Хорошо, итак, я пытаюсь научиться создавать приложения в UWP, и я пытался заставить «Graph Tutorial» работать. (https://learn.microsoft.com/en-us/graph/tutorials/uwp?tutorial-step=1 )

Я следовал инструкциям на этой странице, шаг за шагом, и когда я перехожу к этапу отладки, он останавливается на MainPage.xaml.cs, за исключением this.initializeComponent();

Сообщение об исключении мне не очень помогает, так как в нем говорится

Windows.UI.Xaml.Разметка.XamlParseException: ‘Не удалось найти текст, связанный с этим кодом ошибки. Не удалось назначить свойству ‘Windows.UI.Xaml.ResourceDictionary.Источник», потому что тип «Windows.Фундамент.Строка «не может быть присвоена типу «Windows.Фонд.Ури». [Строка: 44 Позиция: 86]’

Теперь, очевидно, я делаю что-то неправильно, так как это буквально вырезанный и вставленный код. Но я понятия не имею, что это может быть. И поскольку все последующие части этого руководства основаны на правильной работе этого первого шага, я действительно не могу двигаться дальше. Есть какие-нибудь мысли?

Вот файл MainPage.xaml.cs

 using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;

// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=402352amp;clcid=0x409

namespace GraphTutorial
{
    /// <summary>
    /// An empty page that can be used on its own or navigated to within a Frame.
    /// </summary>
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();

            // Initialize auth state to false
            SetAuthState(false);

            // Configure MSAL provider
            // TEMPORARY
            MsalProvider.ClientId = "11111111-1111-1111-1111-111111111111";

            // Navigate to HomePage.xaml
            RootFrame.Navigate(typeof(HomePage));
        }

        private void SetAuthState(bool isAuthenticated)
        {
            (Application.Current as App).IsAuthenticated = isAuthenticated;

            // Toggle controls that require auth
            Calendar.IsEnabled = isAuthenticated;
        }

        private void NavView_ItemInvoked(NavigationView sender, NavigationViewItemInvokedEventArgs args)
        {
            var invokedItem = args.InvokedItem as string;

            switch (invokedItem.ToLower())
            {
                case "calendar":
                    throw new NotImplementedException();
                    break;
                case "home":
                default:
                    RootFrame.Navigate(typeof(HomePage));
                    break;
            }
        }
    }
}
  

Вот MainPage.xaml

 <Page
    x:Class="GraphTutorial.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:GraphTutorial"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"
    xmlns:Interactivity="using:Microsoft.Xaml.Interactivity"
    xmlns:providers="using:Microsoft.Toolkit.Graph.Providers"
    xmlns:wgt="using:Microsoft.Toolkit.Graph.Controls"  
    mc:Ignorable="d"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

    <Interactivity:Interaction.Behaviors>
        <providers:InteractiveProviderBehavior x:Name="MsalProvider" />
    </Interactivity:Interaction.Behaviors>

    <Grid>
        <NavigationView x:Name="NavView"
            IsSettingsVisible="False"
            ItemInvoked="NavView_ItemInvoked">

            <NavigationView.Header>
                <wgt:LoginButton x:Name="Login" 
                                 VerticalAlignment="Top" 
                                 HorizontalAlignment="Right" />
            </NavigationView.Header>

            <NavigationView.MenuItems>
                <NavigationViewItem Content="Home" x:Name="Home" Tag="home">
                    <NavigationViewItem.Icon>
                        <FontIcon Glyph=""/>
                    </NavigationViewItem.Icon>
                </NavigationViewItem>
                <NavigationViewItem Content="Calendar" x:Name="Calendar" Tag="calendar">
                    <NavigationViewItem.Icon>
                        <FontIcon Glyph=""/>
                    </NavigationViewItem.Icon>
                </NavigationViewItem>
            </NavigationView.MenuItems>

            <StackPanel>
                <controls:InAppNotification x:Name="Notification" ShowDismissButton="true" />
                <Frame x:Name="RootFrame" Margin="24, 0" />
            </StackPanel>
        </NavigationView>
    </Grid>
</Page>
  

Комментарии:

1. Я только что добавил это выше.

2. Извините, я имею в виду файл MainPage.xaml.

3. Добавлено и это

Ответ №1:

Сообщение об исключении мне не очень помогает, поскольку в нем говорится

Во время тестирования проблема возникает в InAppNotification элементе управления, пожалуйста, откройте консоль диспетчера пакетов и вызовите следующую команду для обновления Microsoft.Toolkit.Uwp.UI.Controls до версии 7.0.0-preview2. Исключение исчезнет.

 Install-Package Microsoft.Toolkit.Uwp.UI.Controls -Version 7.0.0-preview2