C++-Laufzeitframeworkpakete für Desktop-Brücke
In diesem Artikel wird beschrieben, wie Sie einen Desktop-Brücke Container erstellen, der die richtigen C++-Runtimebibliotheken enthält.
Ursprüngliche Produktversion: Windows 10
Ursprüngliche KB-Nummer: 3176696
Zusammenfassung
Windows-Desktopanwendungen, die von den C++-Runtimebibliotheken abhängig sind, müssen die entsprechende Version des C++-Runtime-Frameworkpakets für Desktop-Brücke während der Erstellung des Anwendungspakets angeben. Dies muss geschehen, anstatt nur die C++-Runtimebibliotheken neu zu verteilen, die in Visual Studio oder der Visual C++-Runtime redistributable (VCRedist) enthalten sind. Windows-Desktopanwendungen, die in einem Desktop-Brücke-Container ausgeführt werden, können die in Visual Studio oder VCRedist enthaltenen C++-Runtimebibliotheken nicht verwenden. Eine Anwendung, die in einem Desktop-Brücke Container ausgeführt wird und eine falsche Version der C++-Laufzeitbibliotheken verwendet, schlägt möglicherweise fehl, wenn sie versucht, auf Ressourcen wie das Dateisystem oder die Registrierung zuzugreifen. In diesem Artikel wird erläutert, wie Sie einen Desktop-Brücke Container erstellen, der die richtigen C++-Runtimebibliotheken enthält.
Installieren und Aktualisieren von Desktopframeworkpaketen
Microsoft stellt C++-Runtime-Frameworkpakete bereit, mit denen Anwendungen aus Desktopanwendungen, die über den Windows Store verteilt werden, auf die C++-Runtime verweisen können. Diese Pakete werden über den Windows Store verteilt und aktualisiert und ähnlich wie C++-UWP-Frameworkpakete behandelt.
Für Entwicklungszwecke ist die aktuelle Version (v14.0) von Debug- und Verkaufs-Appx-Paketen in Visual Studio 2019 enthalten, wenn Sie die Workload Universelle Windows-Plattform Entwicklung mit der optionalen Komponente für universelle Windows-Tools in C++ (v142) auswählen. Die Pakete finden Sie unter %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0
.
In einigen Szenarien wie Windows-Sandbox oder in denen Anwendungen auf Offlinecomputern ausgeführt werden, fällt es Entwicklern möglicherweise leichter, die Pakete, die ihren Bereitstellungsarchitekturen entsprechen, über einen der folgenden Links herunterzuladen und sie mithilfe des Add-AppxPackage
PowerShell-Cmdlets manuell zu installieren:
- Microsoft.VCLibs.arm.14.00.Desktop.appx
- Microsoft.VCLibs.arm64.14.00.Desktop.appx
- Microsoft.VCLibs.x64.14.00.Desktop.appx
- Microsoft.VCLibs.x86.14.00.Desktop.appx
Legacy-Desktopframeworkpakete
Ältere C++-Runtime-Frameworkpakete für Desktopanwendungen, v11.0 und v12.0, können von diesen Speicherorten heruntergeladen und installiert werden:
- C++ Runtime v11.0-Frameworkpaket für Desktop-Brücke (Project Centennial)
- C++-Runtime v12-Frameworkpaket für Desktop-Brücke (Project Centennial)
Die C++-Runtime-Frameworkpakete werden in einen Unterordner unter %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop
kopiert. Sie können die Pakete manuell mithilfe des Add-AppxPackage
PowerShell-Cmdlets installieren.
Verweisen auf die Desktopframeworkpakete
Geben Sie in der AppxManifest.xml-Datei Ihrer Anwendung einen PackageDependency
Wert an, der dem entsprechenden Frameworkpaket entspricht:
Version 11.0:
<Dependencies> <PackageDependency Name="Microsoft.VCLibs.110.00.UWPDesktop" MinVersion="11.0.61135.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"/> </Dependencies>
Version 12.0:
<Dependencies> <PackageDependency Name="Microsoft.VCLibs.120.00.UWPDesktop" MinVersion="120.40653.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" /> <PackageDependency Name="Microsoft.VCLibs.120.00.UWPDesktop" MinVersion="12.0.40653.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" /> </Dependencies>
Version 14.0:
<Dependencies> <PackageDependency Name="Microsoft.VCLibs.140.00.UWPDesktop" MinVersion="14.0.24217.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" /> </Dependencies>
Die Anwendung installiert nun die C++-Runtime-DLLs aus dem Abhängigkeitspaket, wenn es bereitgestellt wird.
References
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für