Problem z konfiguracją Windows SDK dla VS2022 z projektem C#

0

Witam.
Mam problem z konfiguracją Windows SDK dla VS2022. VS jak wiadomo udostępnia instalator w którym można instalować poszczególne składniki które tworzą VS, w tym Windows SDK. Problem w tym, że zazwyczaj umożliwia on instalacje starszych wersji narzędzi itp. Tak samo jak w przypadku Windows SDK. Ostatnia wersja Windows SDK dostępna w instalatorze to 10.0.20348.0.
Ja natomiast pobrałem nową wersję SDK ze strony microsoft: https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/
Gdzie ostatnią wersją SDK jest 10.0.22621.0
Niestety wydaje mi się, że VS jakby nie czyta do końca tego SDK. Chciałbym trochę z nim poeksperymentować, bo podobno udostępnia ciekawe opcje dotyczące Windowsa. takie jak wyświetlanie powiadomień itp. Zrobiłem więc prosty kod:

using Windows.UI.Notifications;

// Konfiguracja powiadomienia
var toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText01);
var textNodes = toastXml.GetElementsByTagName("text");
textNodes[0].AppendChild(toastXml.CreateTextNode("To jest przykładowe powiadomienie Toast"));

// Tworzenie obiektu powiadomienia
var toast = new ToastNotification(toastXml);

// Wyświetlanie powiadomienia
ToastNotificationManager.CreateToastNotifier().Show(toast);


Tyle, że zacina się na tej ostatniej linijce twierdząc, że nie można odnaleźć elementu. Czyli jak rozumiem biblioteki. Nie wiem jak to naprawić. Robiłem trochę na oślep. Sprawdzałem, czy jest ustawiona odpowiednia wersja SDK w ustawieniach projektu. Dodałem najnowszą wersję sdk do zmiennej Path. Co ciekawe przykładowy program dostępny na stronie https://github.com/Microsoft/Windows-universal-samples (link ze strony pobierania Windows SDK) działa. Tylko trzeba ustawić docelową wersję SDK na wyższą, chyba dałem tam 20.0 czy jakoś tak.

Szczegółowe dane błędu:

System.Runtime.InteropServices.COMException
  HResult=0x80070490
  Message=Nie można odnaleźć elementu. (0x80070490)
  Source=WinRT.Runtime
  StackTrace:
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|20_0(Int32 hr)
   at ABI.Windows.UI.Notifications.IToastNotificationManagerStaticsMethods.CreateToastNotifier(IObjectReference _obj)
   at Program.<Main>$(String[] args) in (ścieżka do projeketu)\Program.cs:line 12

Bardzo byłbym wdzięczny za pomoc. I jakieś porady dotyczące synchronizacji innych narzędzi z VS2022, bo to nie jedyny problem. Często jakbym chciał zainstalować osobno interpreter pythona albo coś innego to nie wiem jak to skonfigurować z VS.

0

Nie chodzi o bibliotekę, chodzi o jakiś uchwyt okna. Wygląda też SDK masz zainstalowane i działa. Jak zdebugujesz i wejdziesz w kod CreateToastNotifier to się dowiesz który uchwyt konkretnie jest nieprawidłowy.
Uruchamiasz to jako aplikację UWP? Jako desktop są dodatkowe wymagania:

https://learn.microsoft.com/en-us/uwp/api/windows.ui.notifications.toastnotificationmanager?view=winrt-22621

Generally, sending a toast notification from a desktop app is the same as sending it from a UWP app. However, you should be aware of these differences and requirements:
For a desktop app to display a toast, the app must have a shortcut on the Start screen.
The shortcut must have an AppUserModelID.
Desktop apps cannot schedule a toast.

Ogólnie używanie WinRT spoza spakowanej aplikacji UWP jest trochę problematyczne i nie wszystko jest dostępne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1