Κυκλοφόρησε το Microsoft Windows App SDK 1.0 Stable, διαθέσιμο για λήψη (Σημειώσεις Έκδοσης)

Εικονίδιο ώρας ανάγνωσης 12 λεπτό. ανάγνωση


Οι αναγνώστες βοηθούν στην υποστήριξη του MSpoweruser. Ενδέχεται να λάβουμε προμήθεια εάν αγοράσετε μέσω των συνδέσμων μας. Εικονίδιο επεξήγησης εργαλείου

Διαβάστε τη σελίδα αποκάλυψης για να μάθετε πώς μπορείτε να βοηθήσετε το MSPoweruser να διατηρήσει τη συντακτική ομάδα Διάβασε περισσότερα

winUI

Μετά από αρκετές εκδόσεις προεπισκόπησης, η Microsoft μόλις κυκλοφόρησε το Windows App SDK 1.0.0 Stable, μια εργαλειοθήκη που εξουσιοδοτεί τους προγραμματιστές εφαρμογών για επιτραπέζιους υπολογιστές να δημιουργούν εφαρμογές με σύγχρονο περιβάλλον εργασίας χρήστη, API και λειτουργίες πλατφόρμας των Windows.

Σε αυτήν την έκδοση, η Microsoft πρόσθεσε πολλές νέες δυνατότητες από το Windows App SDK 0.8 και σταθεροποίησε ζητήματα από εκδόσεις προεπισκόπησης 1.0.

[lwptoc title=”WindowsAppSDK 1.0 Stable” width=”30%” float=”right”]

WindowsUI 3

Το WinUI 3 είναι το πλαίσιο εγγενούς εμπειρίας χρήστη (UX) για το Windows App SDK.

Νέες δυνατότητες και ενημερώσεις:

  • Η Microsoft έχει προσθέσει νέα στοιχεία ελέγχου (PipsPager, Expander, BreadcrumbBar) και ενημέρωσε τα υπάρχοντα στοιχεία ελέγχου για να αντικατοπτρίζουν τα πιο πρόσφατα στυλ των Windows από WindowsUI 2.6.
  • Η συσκευασία MSIX ενός έργου υποστηρίζεται στο WinUI με τη δημιουργία μιας νέας εφαρμογής χρησιμοποιώντας το πρότυπο "Blank App, Packaged...".
  • Η Microsoft υποστηρίζει πλέον την ανάπτυξη εφαρμογών WinUI 3 χωρίς συσκευασία MSIX σε εκδόσεις Windows 1809 και νεότερες εκδόσεις. Παρακαλώ δείτε Δημιουργήστε μια μη συσκευασμένη εφαρμογή επιφάνειας εργασίας WinUI 3 για περισσότερες πληροφορίες.
  • Τα έργα WinUI 3 μπορούν πλέον να ορίσουν την έκδοση-στόχο τους στα Windows 10, έκδοση 1809. Προηγουμένως, μπορούσαν να οριστούν τόσο χαμηλά όσο η έκδοση 1903.
  • Η γραμμή εργαλείων εντός εφαρμογής, η Hot Reload και το Live Visual Tree για εφαρμογές με πακέτο WinUI υποστηρίζονται στο Visual Studio 2022 Preview 5 και GA.

Σημαντικοί περιορισμοί:

  • Γνωστά ζητήματα για τόσο συσκευασμένες όσο και μη συσκευασμένες εφαρμογές WinUI:
    • Σφάλμα χρόνου εκτέλεσης σε εφαρμογές C++ που αναφέρονται σε ένα στοιχείο χρόνου εκτέλεσης των Windows C++: Για να το επιλύσετε, προσθέστε τον παρακάτω στόχο στο τέλος του .vcxproj του στοιχείου χρόνου εκτέλεσης των Windows:

      XML

      <Target Name="GetPriIndexName">
      <PropertyGroup>
          <!-- Winmd library targets use the default root namespace of the project for the App package name -->
          <PriIndexName Condition="'$(RootNamespace)' != ''">$(RootNamespace)</PriIndexName>
          <!-- If RootNamespace is empty fall back to TargetName -->
          <PriIndexName Condition="$(PriIndexName) == ''">$(TargetName)</PriIndexName>
      </PropertyGroup>
      </Target>
      
  • Γνωστά ζητήματα για Εφαρμογές WinUI με MSIX ενός έργου (Κενή εφαρμογή, Πακέτο πρότυπο):
    • Λείπει το στοιχείο μενού Package & Publish μέχρι να επανεκκινήσετε το Visual Studio: Όταν δημιουργείτε μια νέα εφαρμογή με MSIX Single-project τόσο στο Visual Studio 2019 όσο και στο Visual Studio 2022 χρησιμοποιώντας το πρότυπο έργου Blank App, Packaged (WinUI 3 in Desktop), η εντολή για δημοσίευση του έργου δεν εμφανίζεται στο μενού μέχρι να κλείσετε και ανοίξτε ξανά το Visual Studio.
    • Η εφαρμογή AC# με MSIX ενός έργου δεν θα μεταγλωττιστεί χωρίς την εγκατάσταση του προαιρετικού στοιχείου "C++ (v14x) Universal Windows Platform Tools". Θέα Εγκαταστήστε εργαλεία προγραμματιστή για περισσότερες πληροφορίες.
    • Πιθανό σφάλμα χρόνου εκτέλεσης σε μια εφαρμογή με MSIX ενός έργου που καταναλώνει τύπους που ορίζονται σε ένα αναφερόμενο στοιχείο χρόνου εκτέλεσης των Windows: Για επίλυση, προσθέστε μη αυτόματα ενεργοποιήσιμες καταχωρήσεις τάξης στο appxmanifest.xml.
      • Το αναμενόμενο σφάλμα σε εφαρμογές C# είναι "COMException: Η κλάση δεν έχει καταχωρηθεί (0x80040154 (REGDB_E_CLASSNOTREG)).
      • Το αναμενόμενο σφάλμα στις εφαρμογές C++/WinRT είναι "winrt::hresult_class_not_registered".
  • Γνωστά ζητήματα για Εφαρμογές WinUI χωρίς συσκευασία MSIX (μη συσκευασμένες εφαρμογές):
  • Γνωστά ζητήματα για συσκευασία και ανάπτυξη εφαρμογών WinUI:
    • Η Package Η εντολή δεν υποστηρίζεται σε εφαρμογές WinUI με Single-project MSIX (Κενή εφαρμογή, Πακέτο πρότυπο). Αντίθετα, χρησιμοποιήστε το Package & Publish εντολή για τη δημιουργία ενός πακέτου MSIX.
    • Για να δημιουργήσετε ένα πακέτο NuGet από μια βιβλιοθήκη κλάσης C# με το Pack εντολή, βεβαιωθείτε ότι η ενεργή Configuration is Release.
    • Η Pack Η εντολή δεν υποστηρίζεται στα C++ Windows Runtime Components για τη δημιουργία πακέτου NuGet.

Παράθυρο

Το SDK εφαρμογών των Windows παρέχει ένα AppWindow κλάση που εξελίσσει την προηγούμενη εύχρηστη κλάση προεπισκόπησης Windows.UI.WindowManagement.AppWindow και την καθιστά διαθέσιμη σε όλες τις εφαρμογές των Windows, συμπεριλαμβανομένων των Win32, WPF και WinForms.

Νέες δυνατότητες

  • AppWindow είναι ένα API παραθύρων υψηλού επιπέδου που επιτρέπει εύχρηστα σενάρια παραθύρου που ενσωματώνονται καλά με την εμπειρία χρήστη των Windows και με άλλες εφαρμογές. Αντιπροσωπεύει μια αφαίρεση υψηλού επιπέδου ενός κοντέινερ που διαχειρίζεται το σύστημα του περιεχομένου μιας εφαρμογής. Αυτό είναι το κοντέινερ στο οποίο φιλοξενείται το περιεχόμενό σας και αντιπροσωπεύει την οντότητα με την οποία αλληλεπιδρούν οι χρήστες όταν αλλάζουν μέγεθος και μετακινούν την εφαρμογή σας στην οθόνη. Για προγραμματιστές που είναι εξοικειωμένοι με το Win32, το AppWindow μπορεί να θεωρηθεί ως μια αφαίρεση υψηλού επιπέδου του HWND.
  • Περιοχή Εμφάνισης αντιπροσωπεύει μια αφαίρεση υψηλού επιπέδου ενός HMONITOR, ακολουθεί τις ίδιες αρχές με το AppWindow.
  • DisplayAreaWatcher επιτρέπει σε έναν προγραμματιστή να παρατηρεί αλλαγές στην τοπολογία της οθόνης και να απαριθμεί τις Περιοχές Εμφάνισης που ορίζονται αυτήν τη στιγμή στο σύστημα.

Εισαγωγή

Αυτά είναι τα API εισόδου που υποστηρίζουν το WinUI και παρέχουν μια επιφάνεια API χαμηλότερου επιπέδου στους προγραμματιστές ώστε να επιτυγχάνουν πιο προηγμένες αλληλεπιδράσεις εισόδου.

Νέες δυνατότητες

  • Pointer API: PointerPointΙδιότητες PointerPoint, να PointerEventArgs για υποστήριξη ανάκτησης πληροφοριών συμβάντος δείκτη με API εισόδου XAML.
  • InputPointerSource API: Αντιπροσωπεύει ένα αντικείμενο που είναι καταχωρημένο για να αναφέρει την είσοδο δείκτη και παρέχει χειρισμό δρομέα δείκτη και συμβάντος εισόδου για το API SwapChainPanel της XAML.
  • API δρομέα: Επιτρέπει στους προγραμματιστές να αλλάξουν το bitmap του δρομέα.
  • GestureRecognizer API: Επιτρέπει στους προγραμματιστές να αναγνωρίζουν ορισμένες χειρονομίες, όπως σύρετε, κρατήστε και κάντε κλικ όταν δίνονται πληροφορίες δείκτη.

Σημαντικοί περιορισμοί

  • Όλα PointerPoint Οι στατικές εργοστασιακές λειτουργίες έχουν αφαιρεθεί: GetCurrentPointGetCurrentPointTransformedGetIntermediatePoints, να GetIntermediatePointsTransformed.
  • Το SDK εφαρμογών των Windows δεν υποστηρίζει την ανάκτηση PointerPoint αντικείμενα με αναγνωριστικά δείκτη. Αντίθετα, μπορείτε να χρησιμοποιήσετε το PointerPoint λειτουργία μέλους GetTransformedPoint για να ανακτήσετε μια μετασχηματισμένη έκδοση μιας υπάρχουσας PointerPoint αντικείμενο. Για ενδιάμεσα σημεία, μπορείτε να χρησιμοποιήσετε το PointerEventArgs λειτουργίες μέλους GetIntermediatePoints και  GetTransformedIntermediatePoints.
  • Άμεση χρήση της πλατφόρμας SDK API Windows.UI.Core.CoreDragOperation δεν θα λειτουργήσει με εφαρμογές WinUI.
  • PointerPoint ιδιότητες RawPosition και  ContactRectRaw καταργήθηκαν επειδή αναφέρονταν σε μη προβλεπόμενες τιμές, οι οποίες ήταν ίδιες με τις κανονικές τιμές στο ΛΣ. Χρήση θέση και  ContactRect αντι αυτου. Η πρόβλεψη δείκτη γίνεται τώρα με το Microsoft.UI.Input.PointerPredictor Αντικείμενο API.

Κύκλος ζωής εφαρμογής

Οι περισσότερες από τις λειτουργίες του κύκλου ζωής εφαρμογών υπάρχουν ήδη στην πλατφόρμα UWP και έχουν μεταφερθεί στο SDK εφαρμογών των Windows για χρήση από τύπους εφαρμογών επιτραπέζιου υπολογιστή, ειδικά από μη συσκευασμένες εφαρμογές Κονσόλας, εφαρμογές Win32, εφαρμογές Φόρμες Windows και εφαρμογές WPF. Η εφαρμογή του Windows App SDK αυτών των δυνατοτήτων δεν μπορεί να χρησιμοποιηθεί σε εφαρμογές UWP, καθώς υπάρχουν ισοδύναμες δυνατότητες στην ίδια την πλατφόρμα UWP.

 σημαντικό

Εάν εργάζεστε σε μια εφαρμογή UWP, ανατρέξτε στο την καθοδήγηση μετανάστευσης UWP για να μάθετε περισσότερα σχετικά με τη μετεγκατάσταση της εφαρμογής σας στο SDK εφαρμογών των Windows.

Οι εφαρμογές που δεν είναι UWP μπορούν επίσης να συσκευαστούν σε πακέτα MSIX. Παρόλο που αυτές οι εφαρμογές μπορούν να χρησιμοποιήσουν ορισμένες από τις δυνατότητες Κύκλου ζωής εφαρμογών SDK των Windows, πρέπει να χρησιμοποιούν την προσέγγιση δήλωσης όπου αυτή είναι διαθέσιμη. Για παράδειγμα, δεν μπορούν να χρησιμοποιήσουν το Windows App SDK ΕγγραφήΓια XXXΕνεργοποίηση API και πρέπει αντ' αυτού να εγγραφούν για ενεργοποίηση εμπλουτισμένων μέσω του μανιφέστου.

Όλοι οι περιορισμοί για τις συσκευασμένες εφαρμογές ισχύουν επίσης για τις εφαρμογές WinUI, οι οποίες είναι συσκευασμένες και υπάρχουν πρόσθετα ζητήματα όπως περιγράφονται παρακάτω.

Σημαντικές εκτιμήσεις:

  • Πλούσια ενεργοποίηση: GetActivatedEventArgs
    • Μη συσκευασμένες εφαρμογές: Πλήρως χρησιμοποιήσιμο.
    • Συσκευασμένες εφαρμογές: Μπορεί να χρησιμοποιηθεί, αλλά αυτές οι εφαρμογές μπορούν επίσης να χρησιμοποιήσουν την πλατφόρμα GetActivatedEventArgs. Σημειώστε ότι η πλατφόρμα ορίζει Windows.ApplicationModel.AppInstance ενώ το Windows App SDK ορίζει Microsoft.Windows.AppLifecycle.AppInstance. Και ενώ οι εφαρμογές UWP μπορούν να χρησιμοποιήσουν το ActivatedEventArgs τάξεις, όπως FileActivatedEventArgs και  LaunchActivatedEventArgs, οι εφαρμογές που χρησιμοποιούν τη δυνατότητα Windows App SDK AppLifecycle πρέπει να χρησιμοποιούν τις διεπαφές και όχι τις κλάσεις (π.χ. IFileActivatedEventArgsILaunchActivatedEventArgs, και ούτω καθεξής).
    • Εφαρμογές WinUi: Το App.OnLaunched του WinUI δίνεται α Microsoft.UI.Xaml.LaunchActivatedEventArgs, ενώ η πλατφόρμα GetActivatedEventArgs επιστρέφει a Windows.ApplicationModel.IActivatedEventArgsκαι το WindowsAppSDK GetActivatedEventArgs επιστρέφει a Microsoft.Windows.AppLifecycle.AppActivationArguments αντικείμενο που μπορεί να αντιπροσωπεύει μια πλατφόρμα LaunchActivatedEventArgs.
    • Για περισσότερες πληροφορίες, δείτε Πλούσια ενεργοποίηση.
  • Εγγραφή/Απεγγραφή για πλούσια ενεργοποίηση
    • Μη συσκευασμένες εφαρμογές: Πλήρως χρησιμοποιήσιμο.
    • Συσκευασμένες εφαρμογές: Δεν μπορεί να χρησιμοποιηθεί, χρησιμοποιήστε το μανιφέστο MSIX της εφαρμογής.
    • Για περισσότερες πληροφορίες, δείτε Πλούσια ενεργοποίηση.
  • Single/Multi-instancing
    • Μη συσκευασμένες εφαρμογές: Πλήρως χρησιμοποιήσιμο.
    • Συσκευασμένες εφαρμογές: Πλήρως χρησιμοποιήσιμο.
    • Εφαρμογές WinUI: Εάν μια εφαρμογή θέλει να εντοπίσει άλλες παρουσίες και να ανακατευθύνει μια ενεργοποίηση, πρέπει να το κάνει όσο το δυνατόν νωρίτερα και πριν από την προετοιμασία οποιωνδήποτε παραθύρων κ.λπ. Για να ενεργοποιηθεί αυτό, η εφαρμογή πρέπει να ορίσει DISABLE_XAML_GENERATED_MAIN και να γράψει ένα προσαρμοσμένο Main (C#) ή WinMain (C++) όπου μπορεί να κάνει τον εντοπισμό και την ανακατεύθυνση.
    • RedirectActivationToAsync είναι μια ασύγχρονη κλήση και δεν θα πρέπει να περιμένετε για ασύγχρονη κλήση εάν η εφαρμογή σας εκτελείται σε STA. Για εφαρμογές Windows Forms και C# WinUI, μπορείτε να δηλώσετε ότι το Main είναι ασύγχρονο, εάν είναι απαραίτητο. Για εφαρμογές C++ WinUI και C# WPF, δεν μπορείτε να δηλώσετε ότι το Main είναι ασύγχρονα, επομένως πρέπει να μετακινήσετε την κλήση ανακατεύθυνσης σε άλλο νήμα για να διασφαλίσετε ότι δεν θα αποκλείσετε το STA.
    • Για περισσότερες πληροφορίες, δείτε Παρουσίαση εφαρμογών.
  • Ειδοποιήσεις τροφοδοσίας/κατάστασης
    • Μη συσκευασμένες εφαρμογές: Πλήρως χρησιμοποιήσιμο.
    • Συσκευασμένες εφαρμογές: Πλήρως χρησιμοποιήσιμο.
    • Για περισσότερες πληροφορίες, δείτε διαχείρισης ενέργειας.

Γνωστό θέμα:

  • Οι συσχετίσεις τύπου αρχείου κωδικοποιούν εσφαλμένα το %1 σε %251 κατά τον ορισμό του προτύπου γραμμής εντολών του χειριστή ρήματος, το οποίο διακόπτει τη λειτουργία των μη συσκευασμένων εφαρμογών Win32. Μπορείτε να επεξεργαστείτε με μη αυτόματο τρόπο την τιμή Μητρώου ως %1 ως μερική λύση. Εάν η διαδρομή αρχείου προορισμού έχει ένα κενό σε αυτήν, τότε θα εξακολουθεί να αποτυγχάνει και δεν υπάρχει λύση για αυτό το σενάριο.
  • Αυτά τα σφάλματα Single/Multi-instancing θα διορθωθούν σε μια επερχόμενη ενημέρωση κώδικα συντήρησης:
    • Η ανακατεύθυνση AppInstance δεν λειτουργεί όταν μεταγλωττίζεται για x86
    • Η καταχώριση ενός κλειδιού, η κατάργηση της εγγραφής του και η εκ νέου καταχώρισή του προκαλεί τη διακοπή λειτουργίας της εφαρμογής

DWriteCore

Το DWriteCore είναι η υλοποίηση του Windows App SDK DirectWrite, το οποίο είναι το DirectX API για απόδοση κειμένου υψηλής ποιότητας, γραμματοσειρές περιγράμματος ανεξάρτητα από ανάλυση και πλήρη υποστήριξη κειμένου και διάταξης Unicode. Το DWriteCore είναι μια μορφή DirectWrite που εκτελείται σε εκδόσεις των Windows έως τα Windows 10, έκδοση 1809 (10.0; Build 17763) και σας ανοίγει την πόρτα για να το χρησιμοποιήσετε σε όλες τις πλατφόρμες.

Χαρακτηριστικά Το DWriteCore περιέχει όλες τις δυνατότητες του DirectWrite, με μερικές εξαιρέσεις.

Σημαντικοί περιορισμοί

  • Το DWriteCore δεν περιέχει τις ακόλουθες δυνατότητες DirectWrite:
    • Γραμματοσειρές ανά περίοδο λειτουργίας
    • Γραμματοσειρές χαρακτήρων που ορίζονται από τον τελικό χρήστη (EUDC).
    • API ροής γραμματοσειρών
  • Η υποστήριξη χαμηλού επιπέδου API απόδοσης είναι μερική.
  • Το DWriteCore δεν διαλειτουργεί με το Direct2D, αλλά μπορείτε να το χρησιμοποιήσετε IDWriteGlyphRunAnalysis και  IDWriteBitmapRenderTarget.

MRT Core

Το MRT Core είναι μια βελτιωμένη έκδοση των σύγχρονων Windows Σύστημα Διαχείρισης Πόρων που διανέμεται ως μέρος του Windows App SDK.

Σημαντικοί περιορισμοί

  • Σε έργα .NET, τα αρχεία πόρων που έχουν επικολληθεί στον φάκελο του έργου δεν ευρετηριάζονται στο F5, εάν η εφαρμογή έχει ήδη δημιουργηθεί. Ως λύση, δημιουργήστε ξανά την εφαρμογή. Βλέπω θέμα 1503 για περισσότερες πληροφορίες.
  • Σε έργα .NET, όταν προστίθεται ένα αρχείο πόρων στο έργο χρησιμοποιώντας τη διεπαφή χρήστη του Visual Studio, τα αρχεία ενδέχεται να μην ευρετηριάζονται από προεπιλογή. Βλέπω θέμα 1786 για περισσότερες πληροφορίες. Για να επιλύσετε αυτό το ζήτημα, καταργήστε τις παρακάτω καταχωρήσεις στο αρχείο CSPROJ:

    XML

    <ItemGroup>
        <Content Remove="<image file name>" />
    </ItemGroup>
    <ItemGroup>
        <PRIResource Remove="<resw file name>" />
    </ItemGroup>
    
  • Για μη συσκευασμένες εφαρμογές C++ WinUI, το URI πόρων δεν έχει κατασκευαστεί σωστά. Για να επιλύσετε αυτό το ζήτημα, προσθέστε τα ακόλουθα στο vcxproj:

    XML

    <!-- Add the following after <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> -->
    
    <PropertyGroup>
        <AppxPriInitialPath></AppxPriInitialPath>   
    </PropertyGroup>
    

Ανάπτυξη

Νέες δυνατότητες και ενημερώσεις

  • Μπορείτε να αρχικοποιήσετε αυτόματα το SDK της εφαρμογής των Windows μέσω του WindowsPackageType project ιδιότητα για τη φόρτωση του χρόνου εκτέλεσης του Windows App SDK και την κλήση των API του Windows App SDK. Βλέπω Δημιουργήστε μια εφαρμογή WinUI 3 για οδηγίες.
  • Οι μη συσκευασμένες εφαρμογές μπορούν να αναπτύξουν το SDK εφαρμογών των Windows με την ενσωμάτωση στο αυτόνομο SDK εφαρμογών των Windows .exe πρόγραμμα εγκατάστασης στο υπάρχον πρόγραμμα MSI ή εγκατάστασης. Για περισσότερες πληροφορίες, βλ Οδηγός ανάπτυξης του Windows App SDK για μη συσκευασμένες εφαρμογές.
  • Οι μη συσκευασμένες εφαρμογές .NET μπορούν επίσης να χρησιμοποιούν περιτύλιγμα .NET για το bootstrapper API για να λάβετε δυναμικά μια εξάρτηση από το πακέτο πλαισίου του Windows App SDK κατά το χρόνο εκτέλεσης. Για περισσότερες πληροφορίες σχετικά με το περιτύλιγμα .NET, βλ Βιβλιοθήκη περιτυλίγματος .NET.
  • Οι συσκευασμένες εφαρμογές μπορούν να χρησιμοποιήσουν το API ανάπτυξης για να επαληθεύσουν και να διασφαλίσουν ότι όλα τα απαιτούμενα πακέτα είναι εγκατεστημένα στο μηχάνημα. Για περισσότερες πληροφορίες σχετικά με τον τρόπο λειτουργίας του API ανάπτυξης, ανατρέξτε στο οδηγός ανάπτυξης για συσκευασμένες εφαρμογές.

Σημαντικοί περιορισμοί

  • Το περιτύλιγμα .NET για το bootstrapper API προορίζεται μόνο για χρήση από μη συσκευασμένες εφαρμογές .NET για την απλοποίηση της πρόσβασης στο SDK εφαρμογών των Windows.
  • Μόνο οι συσκευασμένες εφαρμογές MSIX που είναι πλήρως αξιόπιστες ή διαθέτουν Διαχείριση πακέτου περιορισμένη δυνατότητα έχουν την άδεια χρήσης του API ανάπτυξης για την εγκατάσταση των εξαρτήσεων του main και του singleton πακέτου. Η υποστήριξη για συσκευασμένες εφαρμογές μερικής αξιοπιστίας θα έρχεται σε μεταγενέστερες εκδόσεις.
  • Όταν το F5 δοκιμάζει μια εφαρμογή x86 που χρησιμοποιεί το DeploymentManager.Initialize μέθοδο σε ένα σύστημα x64, βεβαιωθείτε ότι το πλαίσιο x64 εγκαθίσταται πρώτα εκτελώντας το WindowsAppRuntimeInstall.exe. Διαφορετικά, θα συναντήσετε ένα ΔΕΝ ΒΡΕΘΗΚΕ σφάλμα που οφείλεται στο ότι το Visual Studio δεν αναπτύσσει το πλαίσιο x64, το οποίο συνήθως συμβαίνει μέσω της ανάπτυξης του Store ή της πλευρικής φόρτωσης.

Άλλοι περιορισμοί και γνωστά ζητήματα

  • Καμία υποστήριξη για οποιαδήποτε διαμόρφωση κατασκευής CPU: Πότε προσθήκη του SDK εφαρμογών των Windows σε μια υπάρχουσα εφαρμογή ή στοιχείο .NET που υποστηρίζει Οποιαδήποτε CPU, πρέπει να καθορίσετε την επιθυμητή αρχιτεκτονική: x86x64 or arm64.
  • Αναβάθμιση από .NET 5 σε .NET 6: Κατά την αναβάθμιση στη διεπαφή χρήστη του Visual Studio, ενδέχεται να αντιμετωπίσετε σφάλματα κατασκευής. Ως λύση, ενημερώστε μη αυτόματα το TargetFrameworkPackage του αρχείου του έργου σας ως εξής:

    XML

        <TargetFramework>net6.0-windows10.0.19041.0</TargetFramework> 
    
  • Η εφαρμογή C# Single-project MSIX δεν μεταγλωττίζεται εάν δεν είναι εγκατεστημένα τα εργαλεία C++ UWP. Εάν έχετε ένα έργο C# Single-project MSIX, τότε θα χρειαστεί να εγκαταστήσετε το C++ (v14x) Universal Windows Platform Tools προαιρετικό εξάρτημα.
  • Η επόμενη γλώσσα VSIX αποτυγχάνει να εγκατασταθεί στο Visual Studio 2019 όταν είναι εγκατεστημένες πολλές εκδόσεις του Visual Studio 2019. Εάν έχετε εγκατεστημένες πολλές εκδόσεις του Visual Studio 2019 (π.χ. έκδοση και προεπισκόπηση) και, στη συνέχεια, εγκαταστήστε το Windows App SDK VSIX και για την C++ και  C#, η δεύτερη εγκατάσταση θα αποτύχει. Για να το επιλύσετε, καταργήστε την εγκατάσταση των MSIX Packaging Tools ενός έργου για το Visual Studio 2019 μετά την πρώτη γλώσσα VSIX. Θέα αυτή η ανατροφοδότηση για πρόσθετες πληροφορίες σχετικά με αυτό το ζήτημα.
  • Αν θέλεις co_await σχετικά με την DispatcherQueue.TryEnqueue μέθοδο, στη συνέχεια χρησιμοποιήστε το βιογραφικό_προσκηνίου βοηθητική λειτουργία στο Βιβλιοθήκη υλοποίησης των Windows (WIL):
    1. Προσθήκη αναφοράς σε Microsoft.Windows.ImplementationLibrary Πακέτο NuGet.
    2. Προσθέστε το #include <wil/cppwinrt_helpers.h> δήλωση στο αρχείο κώδικα σας.
    3. Χρήση wil::resume_foreground(your_dispatcher); προς την co_await το αποτέλεσμα.

Διαβάστε περισσότερα και βρείτε τους συνδέσμους λήψης στη Microsoft εδώ.

Περισσότερα για τα θέματα: Windows App SDK 1.0.0, winui 3