Кроссплатформенная разработка с переносимой библиотекой классовCross-platform development with the Portable Class Library

Тип проекта переносимой библиотеки классов в Visual Studio поможет вам быстро и легко создавать кросс платформенные приложения и библиотеки для платформ Майкрософт.The Portable Class Library project type in Visual Studio helps you build cross-platform apps and libraries for Microsoft platforms quickly and easily.

Важно!

Так как проекты переносимой библиотеки классов предназначены только с очень некоторыми из реализаций .NET, мы настоятельно рекомендуем не их использование в разработку новых приложений.Because Portable Class Library projects target only a very specific subset of .NET implementations, we strongly discourage their use in new application development. Рекомендуется замена — библиотеку .NET Standard, которая нацелена на всех реализациях .NET, которые поддерживают определенную версию .NET Standard.The recommended replacement is a .NET Standard library, which targets all .NET implementations that support a specific version of the .NET Standard. Дополнительные сведения см. в статье .NET Standard.For more information, see .NET Standard.

Переносимые библиотеки классов уменьшают временные и трудовые затраты на разработку и тестирования кода.Portable class libraries can help you reduce the time and costs of developing and testing code. Используйте этот тип проекта для написания кода и сборки переносимых сборок .NET Framework, а затем ссылайтесь на них из приложений, предназначенных для нескольких платформ, таких как .NET Framework, iOS или Mac.Use this project type to write and build portable .NET Framework assemblies, and then reference those assemblies from apps that target multiple platforms such as the .NET Framework, iOS, or Mac.

Даже после создания проекта переносимой библиотеки классов в Visual Studio и начала работы над проектом вы сможете изменить целевые платформы.Even after you create a Portable Class Library project in Visual Studio and start developing it, you can change the target platforms. Visual Studio компилирует библиотеку с новыми сборками, позволяющий определить изменения, которые необходимо внести в код.Visual Studio compiles your library with the new assemblies, which helps you identify the changes you need to make in your code.

Создание проекта переносимой библиотеки классовCreate a Portable Class Library project

Чтобы создать переносимую библиотеку классов, используйте шаблоном в Visual Studio.To create a Portable Class Library, use the template provided in Visual Studio. Создайте новый проект (файл > новый проект) и в новый проект диалоговом окне выберите язык программирования (Visual C# или Visual Basic).Create a new project (File > New Project), and in the New Project dialog box, select your programming language (Visual C# or Visual Basic). Выберите библиотека классов (для прежних версий Portable) шаблона.Then, select the Class Library (Legacy Portable) template. Введите имя проекта и выберите ОК.Enter a name for your project and choose OK.

Добавление переносимой библиотеки классов откроется диалоговое окно.The Add Portable Class Library dialog box appears. Выберите два или несколько целевых объектов, а затем нажмите ОК.Choose two or more targets, and then choose OK.

Добавить целевые объекты библиотеке переносных классов в Visual Studio

Изменить целиChange targets

Можно изменить целевые платформы из проекта переносимой библиотеки классов, при ее создании или после начала разработки.You can change the target platforms of a portable class library project when you create it or after you’ve started development. Если вы хотите изменить целевые платформы после создания проекта, в обозревателе решений, откройте контекстное меню для проекта переносимой библиотеки классов (не решение) и затем выберите свойства .If you want to change the targets after you’ve created your project, in Solution Explorer, open the shortcut menu for your Portable Class Library project (not the solution), and then choose Properties. На странице свойств проекта библиотеки вкладке отображается платформ, в данный момент нацелен проект.On the project properties page, the Library tab shows the platforms that your project currently targets.

Свойства проекта для переносимой библиотеки классов в Visual Studio

Чтобы добавить или удалить целевые объекты, выберите изменение кнопку и затем установите или снимите соответствующие флажки.To add or remove targets, choose the Change button, and then select and clear the appropriate check boxes.

При изменении целевых платформ API-интерфейсы, доступные для разработки проекта, изменятся в соответствии с выбранными платформами.When you change the targets, the APIs that are available to you for developing your project will change to match your selection. Visual Studio отображает ошибки и предупреждения после изменения целевых платформ.Visual Studio reports the errors and warnings that may occur as a result of the targets changing.

Если вы хотите оценить переносимость сборки до можно внести изменения в Visual Studio, можно использовать анализатор переносимости .NET.If you want to evaluate the portability of your assemblies before you make changes in Visual Studio, you can use the .NET Portability Analyzer.

Поддерживаемые типы и членыSupported types and members

Типы и члены, доступные в проектах переносимой библиотеки классов, ограничены несколькими факторами совместимости:The types and members that are available in Portable Class Library projects are constrained by several compatibility factors:

  • они должны быть общими для выбранных целевых платформ;They must be shared across the targets you selected.

  • они должны вести себя аналогичным образом на всех этих платформах;The must behave similarly across those targets.

  • они не должны быть кандидатами на вывод из употребления;They must not be candidates for deprecation.

  • они должны иметь смысл в переносимой среде, особенно если вспомогательные члены не являются переносимыми.They must make sense in a portable environment, especially when supporting members are not portable.

Если член поддерживается в переносимой библиотеке классов и для выбранных целевых платформ, он будет показан в IntelliSense в вашем проекте.If a member is supported in the Portable Class Library and for your selected targets, it will appear in your project in IntelliSense. Однако помните, что интерфейс API может поддерживаться в переносимой библиотеки классов, но возможность его использования зависит от выбранных целевых платформ.However, remember that an API may be supported in the Portable Class Library, but whether you can use the API depends on the targets you select.

Отличия API в переносимой библиотеке классовAPI differences in the Portable Class Library

Для обеспечения совместимости сборок переносимой библиотеки классов на всех поддерживаемых платформах некоторые члены в переносимой библиотеке классов были немного изменены.To make Portable Class Library assemblies compatible across all supported platforms, some members have been slightly changed in the Portable Class Library.

Использование переносимой библиотеки классовUse the Portable Class Library

После построения проекта переносимой библиотеки классов просто добавьте ссылку на нее в других проектах.After you build your Portable Class Library project, you just reference it from other projects. Можно сделать ссылку на проект или на конкретные сборки, содержащие классы, к которым требуется доступ.You can reference either the project or specific assemblies that contain the classes you want to access.

Для запуска приложения, ссылающегося на сборку переносимой библиотеки классов, на компьютере должны быть установлены требуемые (или более поздние) версии целевых платформ.To run an app that references a Portable Class Library assembly, the required version (or later) of the targeted platforms must be installed on your computer. Visual Studio содержит все необходимые платформы, поэтому приложение можно запустить без дальнейших изменений на компьютере, который использовался для его разработки.Visual Studio contains all the required frameworks, so you can run the app without further modification on the computer that you used to develop the app.

Развернуть приложение универсальной WindowsDeploy a Universal Windows app

При создании приложения универсальной Windows, ссылающийся на сборку переносимой библиотеки классов, все необходимые для развертывания приложения уже включено в пакет приложения и никаких дальнейших действий не требуется.When you create a Universal Windows app that references a Portable Class Library assembly, everything you need to deploy the app is included in the app package, and no further steps are required.

Развертывание .NET Framework приложенияDeploy a .NET Framework app

При развертывании приложения .NET Framework, в котором имеется ссылка на сборку переносимой библиотеки классов, необходимо задать зависимость от нужной версии платформы .NET Framework.When you deploy a .NET Framework app that references a Portable Class Library assembly, you must specify a dependency on the correct version of the .NET Framework. Задание этой зависимости обеспечивает установку нужной версии вместе с приложением.By specifying this dependency, you ensure that the required version is installed with your app.

  • Чтобы создать зависимость с развертыванием ClickOnce: В обозревателе решений, выберите узел проекта для проекта, необходимо опубликовать.To create a dependency with ClickOnce deployment: In Solution Explorer, choose the project node for the project you want to publish. (Это проект, в котором имеется ссылка на проект переносимой библиотеки классов.) В строке меню выберите проекта > свойстваи нажмите кнопку публикации вкладки. На публикации выберите предварительные требования.(This is the project that references the Portable Class Library project.) On the menu bar, choose Project > Properties, and then choose the Publish tab. On the Publish page, choose Prerequisites. Отметьте требуемую версию платформы .NET Framework как необходимый компонент.Select the required .NET Framework version as a prerequisite.

  • Чтобы создать зависимость с проектом установки: В обозревателе решений, выберите проект установки.To create a dependency with a setup project: In Solution Explorer, choose the setup project. В строке меню выберите проекта > свойства > предварительные требования.On the menu bar, choose Project > Properties > Prerequisites. Отметьте требуемую версию платформы .NET Framework как необходимый компонент.Select the required .NET Framework version as a prerequisite.

Дополнительные сведения о развертывании приложений .NET Framework, см. в разделе руководство по развертыванию для разработчиков.For more information about deploying .NET Framework apps, see Deployment Guide for Developers.

См. такжеSee also