Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird beschrieben, wie Sie einen Desktop-Brücke Container erstellen, der die richtigen C++-Runtime-Bibliotheken enthält.
Ursprüngliche Produktversion: Windows 10
Ursprüngliche KB-Nummer: 3176696
Übersicht
Windows-Desktopanwendungen, die eine Abhängigkeit von den C++-Runtime-Bibliotheken haben, müssen die entsprechende Version des C++-Runtime-Frameworkpakets für Desktop-Brücke während der Erstellung des Anwendungspakets angeben. Dies muss erfolgen, anstatt nur die C++-Runtime-Bibliotheken neu zu verteilen, die in Visual Studio oder der Redistributable (VCRedist) der Visual C++-Runtime enthalten sind. Windows-Desktopanwendungen, die in einem Desktop-Brücke-Container ausgeführt werden, können nicht die C++-Runtime-Bibliotheken verwenden, die in Visual Studio oder VCRedist enthalten sind. 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 versucht wird, 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++-Runtime-Bibliotheken enthält.
So installieren und aktualisieren Sie Desktop Framework-Pakete
Microsoft stellt C++-Runtime-Frameworkpakete bereit, damit Anwendungen von 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 werden ähnlich wie C++-UWP-Frameworkpakete behandelt.
Für Entwicklungszwecke sind die aktuelle Version (v14.0) von Debug- und Einzelhandels-Appx-Paketen in Visual Studio 2022 enthalten, wenn Sie die Universelle Windows-Plattform Entwicklungsarbeitsauslastung mit der optionalen C++-Komponente (v143) für universelle Windows-Tools auswählen. Die Pakete finden Sie unter %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0
.
Notiz
Die folgenden Paketdownloadlinks sind jetzt veraltet und funktionieren möglicherweise in Zukunft nicht mehr. Stellen Sie sicher, dass Sie die oben beschriebene Methode verwenden, um die Frameworkpakete abzurufen.
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++-Frameworkpakete werden in einen Unterordner unter %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop
Add-AppxPackage
PowerShell-Cmdlets manuell installieren.
So verweisen Sie 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 sie bereitgestellt wird.