使用 .NET Framework 针对多个平台开发Developing for Multiple Platforms with the .NET Framework
本文内容
可以通过使用 .NET Framework 和 Visual Studio 开发 Microsoft 和非 Microsoft 平台上的应用。
跨平台开发的选项Options for cross-platform development
重要
因为可移植类库项目面向的.NET 实现仅非常特定的专项,我们强烈建议不要在新的应用程序开发中使用它们。推荐的替代是面向所有支持特定版本的.NET Standard 的.NET 实现的.NET Standard 库。有关详细信息,请参阅 .NET Standard。
若要针对多个平台进行开发,你可以共享源代码或二进制文件,并可以在 .NET Framework 代码和 Windows 运行时 API 之间进行调用。
若希望… | 使用… |
---|---|
在 Windows Phone 8.1 和 Windows 8.1 应用之间共享源代码 | 共享的项目(在 Visual Studio 2013 Update 2 的通用应用模板)。-当前不支持 Visual Basic。-你可以将特定于平台的代码分离使用 #if 语句。有关详细信息,请参见:- 开始编码- 使用 Visual Studio 构建通用 XAML 应用(博客文章)- 使用 Visual Studio 将构建 XAML 融合应用(视频) |
在面向不同平台的应用之间共享二进制文件 | 可移植类库项目与平台无关的代码。-这种方法通常用于实现业务逻辑的代码。-你可以使用 Visual Basic 或 C#。API 支持因平台而异。的面向 Windows 8.1 和 Windows Phone 8.1 可移植类库项目支持 Windows 运行时 Api 和 XAML。这些功能在较旧版本的可移植类库中不可用。-如果需要可以通过使用接口或抽象类抽象处理平台特定的代码。有关详细信息,请参见:- 可移植类库- 如何使可移植类库有效地为您(博客文章)- 可移植类库与 mvvm 配合使用- 面向多个平台的库的应用资源- .NET 可移植性分析器(Visual Studio 扩展) |
在平台(Windows8.1 和 Windows Phone 8.1 除外)的应用之间共享源代码 | 添加为链接功能。-此方法非常适用于出于某种原因是普遍适用于这两个应用,但不可移植的应用程序逻辑。你可以将此功能用于 C# 或 Visual Basic 代码。例如,Windows Phone 8 和 Windows 8 共享 Windows 运行时 API,但可移植类库不支持这些平台的 Windows 运行时。你可以使用 Add as link 在 Windows Phone 8 应用和面向 Windows 8 的 Windows 应用商店应用之间共享公共 Windows 运行时代码。有关详细信息,请参见:- 添加为链接共享代码)- 如何:向项目添加现有项) |
使用 .NET Framework 代码或从 NET Framework 代码调用 Windows 运行时 API,编写 Windows 应用商店应用 | Windows 运行时 Api从.NET Framework C# 或 Visual Basic 代码,并使用.NET Framework 创建 Windows 应用商店应用程序。你应该注意这两个平台的 API 差异。但是,存在帮助你处理这些差异的类。有关详细信息,请参见:- .NET framework 对 Windows 应用商店应用程序和 Windows 运行时支持- 将 URI 传递给 Windows 运行时- WindowsRuntimeStreamExtensions- WindowsRuntimeSystemExtensions |
构建面向非 Microsoft 平台的 .NET Framework 应用 | 可移植类库引用程序集在.NET Framework 和 Visual Studio 扩展或第三方工具,如 Xamarin。有关详细信息,请参见:- 可移植类库现在在所有平台上可用。(博客文章)- Xamarin 文档 |
将 JavaScript 和 HTML 用于跨平台开发 | 通用应用模板在 Visual Studio 2013 Update 2 到适用于 Windows 8.1 和 Windows Phone 8.1 开发针对 Windows 运行时 Api。当前,你不能将 .NET Framework API 与 JavaScript 和 HTML 结合使用来开发跨平台应用。有关详细信息,请参见:- JavaScript 项目模板- 将 Windows 运行时应用使用 JavaScript 为 Windows Phone 移植 |