Windows auf Arm
Windows wird traditionell auf Computern ausgeführt, die von x86/x64-Prozessoren unterstützt werden, aber in jüngster Zeit auch auf Geräten ausgeführt werden, die von Arm-Prozessoren unterstützt werden.
Arm-gesteuerte Geräte sind besonders interessant, da die energieoptimale Natur der Arm-Architektur es diesen Geräten ermöglicht, eine längere Akkulaufzeit bei gleichzeitiger Leistung zu bieten. Arm Systems on Chip (SoC) enthält häufig andere wichtige Features wie eine leistungsfähige CPU, GPU, Wi-Fi & mobile Datennetzwerke sowie neuronale Prozessoreinheiten (Neural Processor Units, NPUs) zur Beschleunigung von KI-Workloads.
Erstellen von Windows-Apps, die auf Arm ausgeführt werden
Windows 10 ermöglicht die Ausführung vorhandener unveränderter x86-Apps auf Arm-Geräten. Windows 11 bietet die Möglichkeit, unveränderte x64-Windows-Apps auf Arm-Geräten auszuführen! Diese Möglichkeit, x86 & x64-Apps auf Arm-Geräten auszuführen, gibt Endbenutzern die Gewissheit, dass die Meisten ihrer vorhandenen Apps-Tools & auch auf neuen Geräten mit Arm-Unterstützung gut ausgeführt werden.
Um die beste Leistung, Reaktionsfähigkeit und Akkulaufzeit zu erzielen, möchten und benötigen Benutzer armnative Windows-Apps, was bedeutet, dass Entwickler armnative Windows-Apps erstellen oder portieren müssen.
Arm-Entwicklertools
Microsoft arbeitet an der Bereitstellung eines armnativen Entwicklertoolsets, das Arm-native Visual Studio 2022, VSCode, VC++-Toolchain, klassische .NET Framework, modernes .NET und Java umfasst. Microsoft arbeitet auch mit mehreren Drittanbietern und Open-Source-Communitys zusammen, um gängige Tools, Runtimes, Frameworks und Bibliotheken für windows on Arm zu portieren. Sehen Sie sich die Ankündigung von Build 2022 über diese umfassende Suite von Tools, Diensten und Geräten an, mit denen Entwickler Apps erstellen und portieren können, die nativ auf Arm abzielen, genauso einfach wie bei der Ausrichtung auf x64.
Ausrüsten von Entwicklerdiensten
Viele Entwickler verlassen sich heute auch auf Virtual Machines und Container. Aus diesem Grund hat das Azure-Team von Microsoft kürzlich eine Vorschau des neuen Arm Virtual Machines-Diensts angekündigt und wird in Kürze eine Vorschau von Arm-Containern über Azure Kubernetes Services anbieten.
Die meisten Entwickler verlassen sich auch auf die Build- und Testautomatisierung über Continuous Integration/Continuous Deployment (CI/CD), die häufig in Clouddiensten wie Azure DevOps oder GitHub gehostet wird. Im Spätsommer 2022 wird Microsoft mit der Portierung des CI/CD-Automatisierungs-Runners/-Agents beginnen, der von Azure DevOps und GitHub freigegeben wird. Details dazu, wann in der Cloud gehostete Arm CI/CD-Dienste verfügbar sein werden, stehen in Kürze zur Verfügung.
Ausrüsten von Entwicklergeräten
Entwickler benötigen Arm-Geräte, auf denen arm-native Windows-Apps erstellt und getestet werden können. Mehrere Arm-fähige Geräte sind bereits bei Microsoft-Partnern verfügbar. Diese tragbaren Geräte, unabhängig davon, ob es sich um ein Laptop-Formfaktorgerät oder ein Convertible-Tablet handelt, bieten eine hervorragende Leistung, Akkulaufzeit und führen das wachsende Spektrum an arm-nativen Entwicklertools aus.
Windows Dev Kit 2023 (Codename "Project Volterra") ist das neueste Arm-Gerät, das entwickelt wurde, um Windows-Entwickler, KI-Forscher und Entwickler zu unterstützen, die KI in ihre Apps und Erfahrungen integrieren möchten.
Arm64EC – Erstellen von Apps für Windows 11 auf Arm
Arm64EC ("Emulationskompatibel") ermöglicht es Ihnen, neue Apps inkrementell zu erstellen oder vorhandene Apps zu portieren, um nach Möglichkeit die native Arm-Leistung zu nutzen und gleichzeitig vorhandene x64-Codebibliotheken & bis zur vollständigen Migration zu nutzen. Weitere Informationen:
Unterstützung für vorhandene Windows-Apps auf Arm
Windows on Arm führt native Arm-Apps sowie viele unveränderte x86 & x64-Apps aus, aber für die beste Leistung und Akkulaufzeit sollten Apps so erstellt werden, dass sie armnativ sind, wo immer möglich. Windows-Apps können mit vielen verschiedenen Tools und Technologien erstellt werden, darunter native C/C++-Win32-Apps, klassische .NET Framework WinForms/WPF-Apps, moderne .NET- oder MAUI-Apps oder sogar Apps, die mit Java, Python, Knoten usw. erstellt wurden.
Suchen von Tools für die Arm-Entwicklung
Windows bietet eine Vielzahl von Tools und Frameworks zur Unterstützung der App-Entwicklung für Arm on Arm.
- Das neue armnative Visual Studio umfasst Visual C++, .NET & .NET Framework und Java und ermöglicht Es Entwicklern, Arm-Apps auf arm-basierten Geräten nativ zu erstellen und zu debuggen. Weitere Informationen finden Sie in der Blogankündigung.
- Visual Studio Code unterstützt Arm nativ und kann auf Arm-Geräten installiert werden. Die VS Code C++-Erweiterung bietet auch C++-IntelliSense- und Buildunterstützung für die Entwicklung von Windows-Apps, die nativ auf Arm64-Geräten ausgeführt werden.
- .NET 6 unterstützt Arm bereits, sowohl für die native Arm-Ausführung als auch für die x64-Emulation. Um .NET-Apps zu entwickeln, die nativ auf Arm64-Geräten ausgeführt werden, empfehlen wir die Installation des neuen nativen Arm Visual Studio 2022 17.4 und des .NET 7 Arm64 SDK. Weitere Informationen zur .NET 7-Unterstützung für Arm und zu den Leistungsverbesserungen für Arm64 finden Sie im .NET-Blog.
- .NET 6 Arm64 SDK: Wenn Sie
dotnet run
eine .NET 6-App mit dem Arm64 SDK verwenden, wird sie standardmäßig als Arm64 ausgeführt. Dasdotnet-runtimeinfo
Tool kann verwendet werden, um die Umgebung zu ermitteln, in der .NET ausgeführt wird. Weitere Informationen finden Sie in der .NET 6-Blogankündigung zum Arm64-Support .
Hinweis
Wir verwenden den Begriff Arm als Abkürzung für PCs, auf denen die Desktopversion von Windows auf Arm64-Prozessoren (auch häufig als AArch64 bezeichnet) ausgeführt wird. Wir verwenden hier den Begriff Arm32 als Abkürzung für die 32-Bit-Arm-Architektur (in anderen Dokumentationen häufig als Arm bezeichnet). PCs, die von Arm unterstützt werden, bieten eine hervorragende Anwendungskompatibilität und ermöglichen es Ihnen, Ihre vorhandenen unveränderten x86 win32-Anwendungen auszuführen. Arm-Apps werden nativ ohne Emulation ausgeführt, während x86- und x64-Apps auf Arm-Geräten unter Emulation ausgeführt werden.
Zusätzliche Tipps zum Entwickeln von Windows-Apps, die auf Arm-Geräten ausgeführt werden
Es wird empfohlen , MSIX zum Packen Ihrer App für die Verteilung zu verwenden. Weitere Informationen dazu, wie MSIX Arm und Arm64 unterstützt, finden Sie unter App-Paketarchitekturen: Arm und Arm64.
Nicht alle Visual Studio-Projekte sind so konfiguriert, dass Projekte lokal gestartet werden, wenn Sie mit dem Debuggen (F5) von einem Arm-Gerät aus beginnen. Möglicherweise müssen Sie Visual Studio auch dann für das Remotedebuggen konfigurieren, wenn Ihre App lokal ausgeführt wird. Weitere Informationen finden Sie unter Remotedebuggen.
Um die empfohlenen Pakete in Visual Studio zu finden und zu installieren, besuchen Sie die Downloadseite von Visual Studio.
- Scrollen Sie für die Remotetools für Visual Studio 2022 unter den Abschnitt Alle Downloads, und erweitern Sie das Dropdownmenü Tools für Visual Studio 2022. Remotetools für Visual Studio 2022 wird dort aufgeführt. Aktivieren Sie unbedingt das Optionsfeld Arm64 und dann Herunterladen.
- Scrollen Sie für die Microsoft Visual C++ Redistributable unter den Abschnitt Alle Downloads, und erweitern Sie das Dropdownmenü Andere Tools und Frameworks. Microsoft Visual C++ Redistributable für Visual Studio 2022 wird dort aufgeführt. Aktivieren Sie unbedingt das Optionsfeld Arm64 und dann Herunterladen.
- Wenn Sie eine ältere Version von Visual Studio verwenden, wählen Sie unten auf der Seite den Link Ältere Downloads aus, um nach den Downloads zu suchen, die Ihrer Version von Visual Studio zugeordnet sind.
Wenn ein Benutzer Ihre App auf einem Arm-Gerät aus dem Microsoft Store installiert, wählt Windows 11 automatisch die optimale Version Ihrer App aus, die verfügbar ist. Wenn Sie x86-, Arm32- und Arm64-Versionen Ihrer App an den Microsoft Store übermitteln, installiert das Betriebssystem automatisch die Arm64-Version Ihrer App. Wenn Sie nur x86- und Arm32-Versionen Ihrer App übermitteln, installiert das Betriebssystem die Arm32-Version. Wenn Sie nur die x86-Version Ihrer App übermitteln, installiert das Betriebssystem diese Version und führt sie unter Emulation aus.
Wählen Sie bei Auswahl der App-Architektur die 32-Bit-x86-Version aus, um die 32-Bit-Version der App auf einem Windows on Arm-PC auszuführen. Wenn die x64 Win32-Version einer App nicht funktioniert, verfügen die meisten Apps über eine x86-Version.
Weitere Informationen zu Architekturen finden Sie unter App-Paketarchitekturen.
App Assure-Unterstützung für die Migration zu Arm64
Für Hilfe beim Erstellen oder Aktualisieren von Anwendungen zur Unterstützung arm64-basierter Geräte können Entwickler App Assure (Teil von FastTrack) verwenden – ein Anwendungskompatibilitätsprogramm, das hilft, Anwendungsprobleme durch technischen Support zu entsperren. Besuchen Sie aka.ms/AppAssure.
Zusätzliche Ressourcen
- Satya Nadellas Keynote "Build 2022" kündigt "Project Volterra" an
- Funktionsweise der x86-Emulation auf Arm
- Problembehandlung für x86-Desktop-Apps
- Problembehandlung für ARM-UWP-Apps
- Problembehandlung für die Programmkompatibilität auf ARM
- Erstellen von Arm64-Treibern mit dem WDK: Anweisungen zum Erstellen eines Arm64-Treibers.
- Debuggen von x86-Apps auf Arm | Leitfaden zum Debuggen von x86-Apps auf Arm.
- Video: Erstellen von Arm64 Win32 C++-Apps
- Windows 10 auf Arm für Entwickler (Microsoft Build 2018-Videopräsentation)
- Blog: Ursprüngliche Ankündigung von Windows 10 Unterstützung für die Arm-Entwicklung
- Melden eines Fehlers