Entwickeln für mehrere Plattformen mit dem .NET FrameworkDeveloping for Multiple Platforms with the .NET Framework

Mit .NET Framework und Visual Studio können Sie Apps sowohl für Microsoft-Plattformen als auch für Plattformen anderer Anbieter entwickeln.You can develop apps for both Microsoft and non-Microsoft platforms by using the .NET Framework and Visual Studio.

Optionen für das plattformübergreifende EntwickelnOptions for cross-platform development

Wichtig

Da Projekte für Portable Klassenbibliotheken nur eine ganz bestimmte Teilmenge von .NET-Implementierungen Ziel, wir Raten dringend ab, deren Verwendung in der Entwicklung neuer Anwendungen.Because Portable Class Library projects target only a very specific subset of .NET implementations, we strongly discourage their use in new application development. Der empfohlene Ersatz ist eine .NET Standard-Bibliothek, die Implementierungen für alle .NET ausgerichtet ist, die eine bestimmte Version von .NET Standard unterstützen.The recommended replacement is a .NET Standard library, which targets all .NET implementations that support a specific version of the .NET Standard. Weitere Informationen finden Sie unter .NET Standard.For more information, see .NET Standard.

Um für mehrere Plattformen zu entwickeln, können Sie Quellcode oder Binärdateien freigeben und Aufrufe zwischen .NET Framework-Code und Windows Runtime-APIs ausführen.To develop for multiple platforms, you can share source code or binaries, and you can make calls between .NET Framework code and Windows Runtime APIs.

ZweckIf you want to... LösungUse...
Quellcode zwischen Windows Phone 8.1- und Windows 8.1-Apps freigebenShare source code between Windows Phone 8.1 and Windows 8.1 apps Freigegebene Projekte (Universal Apps-Vorlage in Visual Studio 2013 Update 2).Shared projects (Universal Apps template in Visual Studio 2013, Update 2).

– Derzeit keine Unterstützung von Visual Basic.- Currently no Visual Basic support.
– Sie können die plattformspezifischen Code trennen, indem Sie mit #if Anweisungen.- You can separate platform-specific code by using #if statements.

Ausführliche Informationen finden Sie unter:For details, see:

- Mit Programmieren beginnen- Start coding
- Mit Visual Studio build Universal XAML Apps (Blogbeitrag)- Using Visual Studio to build Universal XAML Apps (blog post)
- Mithilfe von Visual Studio to Build XAML Converged Apps (video)- Using Visual Studio to Build XAML Converged Apps (video)
Binärdateien zwischen Apps freigeben, die verschiedene Plattformen als Ziel habenShare binaries between apps that target different platforms Projekte für portable Klassenbibliotheken für Code, der Cloudplattform agnostisch ist.Portable Class Library projects for code that is platform-agnostic.

: In diesem Ansatz wird normalerweise für Code verwendet, die Geschäftslogik implementiert.- This approach is typically used for code that implements business logic.
– Sie können Visual Basic- oder c# verwenden.- You can use Visual Basic or C#.
-API-Unterstützung hängt von der Plattform.- API support varies by platform.
– Portable Class Library-Projekten, die Windows 8.1 und Windows Phone 8.1 als Ziel unterstützen Windows Runtime-APIs und XAML.- Portable Class Library projects that target Windows 8.1 and Windows Phone 8.1 support Windows Runtime APIs and XAML. Diese Funktionen sind in älteren Versionen der portablen Klassenbibliothek nicht verfügbar.These features aren't available in older versions of the Portable Class Library.
– Bei Bedarf können Sie plattformspezifischen Code mithilfe von Schnittstellen oder abstrakten Klassen abstrahieren.- If needed, you can abstract out platform-specific code by using interfaces or abstract classes.

Ausführliche Informationen finden Sie unter:For details, see:

- Portable Klassenbibliothek- Portable Class Library
- Wie Sie Make Portable Class Libraries Work (Blogbeitrag)- How to Make Portable Class Libraries Work for You (blog post)
- Verwenden der portablen Klassenbibliothek mit MVVM- Using Portable Class Library with MVVM
- App-Ressourcen für Bibliotheken, die plattformübergreifende Mobile Entwicklung- App Resources for Libraries That Target Multiple Platforms
- .NET Portability Analyzer (Visual Studio-Erweiterung)- .NET Portability Analyzer (Visual Studio extension)
Quellcode zwischen Apps für andere Plattformen als Windows 8.1 und Windows Phone 8.1 freigebenShare source code between apps for platforms other than Windows 8.1 and Windows Phone 8.1 Als Link hinzufügen Feature.Add as link feature.

: In diesem Ansatz ist geeignet für app-Logik, die aus irgendeinem Grund, die beide apps gemeinsam, aber nicht portabel ist.- This approach is suitable for app logic that's common to both apps but not portable, for some reason. Sie können diese Funktion für C#- oder Visual Basic-Code verwenden.You can use this feature for C# or Visual Basic code.
Beispielsweise nutzen Windows Phone 8 und Windows 8 die Windows Runtime-APIs gemeinsam, aber die portablen Klassenbibliotheken unterstützen Windows Runtime für diese Plattformen nicht.For example, Windows Phone 8 and Windows 8 share Windows Runtime APIs, but Portable Class Libraries do not support Windows Runtime for those platforms. Sie können Add as link verwenden, um gemeinsamen Windows Runtime-Code zwischen einer Windows Phone 8-App und einer Windows Store-App, die Windows 8 als Ziel hat, freizugeben.You can use Add as link to share common Windows Runtime code between a Windows Phone 8 app and a Windows Store app that targets Windows 8.

Ausführliche Informationen finden Sie unter:For details, see:

- Freigeben von Code mit den als Link hinzufügen- Share code with Add as Link
- Vorgehensweise: Fügen Sie vorhandener Elemente zu einem Projekt hinzu- How to: Add Existing Items to a Project
Windows Store-Apps mit .NET Framework schreiben oder Windows Runtime-APIs aus .NET Framework-Code aufrufenWrite Windows Store apps using the .NET Framework or call Windows Runtime APIs from .NET Framework code Windows-Runtime-APIs aus .NET Framework c# oder Visual Basic-Code, und verwenden Sie .NET Framework zum Erstellen von Windows Store-apps.Windows Runtime APIs from your .NET Framework C# or Visual Basic code, and use the .NET Framework to create Windows Store apps. Beachten Sie die API-Unterschiede zwischen den zwei Plattformen.You should be aware of API differences between the two platforms. Es gibt jedoch Klassen, die Ihnen bei der Arbeit mit diesen Unterschieden helfen.However, there are classes to help you work with those differences.

Ausführliche Informationen finden Sie unter:For details, see:

- .NET Framework-Unterstützung für Windows Store-Apps und Windows-Runtime- .NET Framework Support for Windows Store Apps and Windows Runtime
- Übergeben eines URI an der Windows-Runtime- Passing a URI to the Windows Runtime
- WindowsRuntimeStreamExtensions
- WindowsRuntimeSystemExtensions
.NET Framework-Apps für Plattformen anderer Anbieter erstellenBuild .NET Framework apps for non-Microsoft platforms Verweisassemblys für Portable Class Library in .NET Framework und ein Visual Studio-Erweiterung oder Drittanbieter-Tool wie Xamarin.Portable Class Library reference assemblies in the .NET Framework, and a Visual Studio extension or third-party tool such as Xamarin.

Ausführliche Informationen finden Sie unter:For details, see:

- Portable Klassenbibliothek sind jetzt auf allen Plattformen verfügbar.- Portable Class Library now available on all platforms. (Blogbeitrag)(blog post)
- Xamarin-Dokumentation- Xamarin documentation
JavaScript und HTML für plattformübergreifende Entwicklung verwendenUse JavaScript and HTML for cross-platform development Universal App-Vorlagen in Visual Studio 2013 Update 2 zum Entwickeln für Windows-Runtime-APIs für Windows 8.1 und Windows Phone 8.1.Universal App templates in Visual Studio 2013, Update 2 to develop against Windows Runtime APIs for Windows 8.1 and Windows Phone 8.1. Derzeit können JavaScript und HTML nicht mit .NET Framework-APIs zum Entwickeln plattformübergreifender Apps verwendet werden.Currently, you can’t use JavaScript and HTML with .NET Framework APIs to develop cross-platform apps.

Ausführliche Informationen finden Sie unter:For details, see:

- JavaScript-Projektvorlagen- JavaScript Project Templates
- Portieren einer Windows-Runtime-app, die mit JavaScript auf Windows Phone- Porting a Windows Runtime app using JavaScript to Windows Phone