Что такое переносимая библиотека классов? - PullRequest
107 голосов
/ 09 марта 2011

На MSDN я заметил раздел о Portable Class Library, в разделе Информация о версии.

См. System.Object для примера.http://msdn.microsoft.com/en-us/library/system.object.aspx

Я сделал краткий поиск в Google и не смог найти ничего о Portable Class Library.Кто-нибудь здесь знает, что это такое или где я могу найти больше информации об этом?

Ответы [ 4 ]

83 голосов
/ 09 марта 2011

ОБНОВЛЕНИЕ 9 октября 2017 года: Сравнение статей / ограничение .NET Core / Std / PCL ОБНОВЛЕНИЕ 23 ноября 2016 года: Статья Рика Штрола

ОБНОВЛЕНИЕ 29 октября 2016 года: .NETStandard 1-> 2 FAQ ОБНОВЛЕНИЕ 19 октября 2016 г .: Это лучшее интервью / видео, которое я когда-либо видел, посвященное .NET Standard 2.0

ОБНОВЛЕНИЕ27 сентября 2016: .NET Standard 2.0 объявление о публикации содержит больше полезной информации

ОБНОВЛЕНИЕ 6 июня 2016: В этой статье хорошо объясняется, как механизм библиотеки .NETStandard заменяет большую частьPCL

ОБНОВЛЕНИЕ 10 июля 2013: Отличное состояние сводного поста блога PCL от @ shanselman с множеством конкретных примеров, скриншотов и ссылок.Здесь можно найти любой другой ответ в тени.

ОБНОВЛЕНИЕ 20 мая 2013 г .:

  • Очень практическое освещение практического применения и последствий этого для вещей с несколькими устройствами (вспомним Xamarin Studio) в Tablet Показывает подкаст с Атли Хантер .Основные выводы: - PCL - это очень полезное ограничение, накладываемое на себя в сценариях между устройствами.
  • Одна из упомянутых библиотек, отличная MvvmCross, обсуждаемая вЭпизод 71 , посвященный планшетному шоу, с автором @ Stuart Lodge Только незначительная подстройка , как описано здесь Стюартом для настройки среды, необходима для использования PCL для таких целей.

ОБНОВЛЕНИЕ 19 апреля 2013 г .: Превосходная плотная сводка того, как все это сводится вместеIntellisense до времени выполнения в блоге Саймона Купера


Видео: Канал 9 Visual Studio Toolbox показывает эпизод 14 июня 2012 года

Видео: Канал 9 Going Deep. Эпизод шоу 27 сентября 2011 года


ОБНОВЛЕНИЕ 11 сентября 2012 года: Хороший пост высокого уровня с фотографиями, диаграммами и примерами мотивации, показывающими, как MVVMLight и RX используют его

ОБНОВЛЕНИЕ 11 апреля 2012 г .: Скотт Хансельман (Scott Hanselman) очень хорошо рассказывает о том, что очень быстро, включая скриншоты здесь (также содержиточень проницательная информация «как думать об этом» и ссылки на образцы).В конце также имеется раздел ресурсов, который в значительной степени дублирует весь этот пост: D

ОБНОВЛЕНИЕ 9 июля 2012: Эта серия блогов Мирчи Трофин из команды разработчиков (одна часть на данный момент) является самойполный охват пока, включая скриншоты и подробные матрицы, показывающие доступные функции по вашему выбору, если вы в такой вещи.


См. Сообщение в блоге Portable Tools Tools , который запускается: -

CTP Portable Library Tools добавляет новый шаблон проекта «Portable Class Library» в Visual Studio, который можно использовать для создания библиотек классов в C # и VB, которые работают на различных.Платформы NET без перекомпиляции.

Используется для создания библиотеки классов, предназначенной для нескольких платформ (особенно в Silverlight-вариантах, таких как WP7 и SL4, но с XNA на Xbox) одновременно.

См. Также Сводная информация InfoQ

См. Также это уведомление о выпуске .

Для подробностей и ошибок см. Рекомендации по многоцелевому таргетингу для инструментов для управляемого кода

52 голосов
/ 14 марта 2011
  • Проект Portable Class Library позволяет писать и создавать управляемые сборки, которые работают на нескольких платформах .NET Framework. Вы можете создавать классы, которые содержат код, который вы хотите использовать во многих проектах, например разделяемую бизнес-логику, а затем ссылаться на эти классы из разных типов проектов.

  • Portable Library Tools - это новая надстройка Visual Studio от Microsoft, которая позволяет создавать библиотеки C # и Visual Basic, работающие на различных платформах .NET без перекомпиляции.

MSDN теперь имеет хорошую статью / документацию . Вы можете проверить это и посмотреть, что поддерживается в Portable Class Library Icon For Portable Class Library.


Следующие сборки доступны в проекте Portable Class Library:

  • mscorlib.dll
  • System.dll
  • System.Core.dll
  • system.Xml.dll
  • System.ComponentModel.Composition.dll
  • System.Net.dll
  • System.Runtime.Serialization.dll
  • System.ServiceModel.dll
  • System.Xml.Serialization.dll
  • System.Windows.dll (из Silverlight)

Вы можете узнать, какие члены поддерживаются проектом Portable Class Library, в справочных разделах библиотеки классов .NET Framework. В таблице участников для класса рядом с поддерживаемыми членами появляется следующий значок Portable Class Library.

Icon for Portable Class library (Значок для Portable Class Library, который вы увидите в Документах MSDN.)


Для создания проекта Portable Class Library вам необходимо:

1 . Visual Studio 2010 с пакетом обновления 1 (SP1) (установщик 795 КБ, 1,48 ГБ ISO )

2 . Переносимые библиотечные инструменты CTP (1,38 МБ)

После установки вышеуказанных обновлений вы получите новый шаблон проекта для Portable Class Library:

enter image description here

(вышеуказанное содержимое взято из MSDN)

ОБНОВЛЕНИЕ 2014:

Портативная библиотека классов является частью Visual Studio 2014.

7 голосов
/ 09 марта 2011

Это библиотека классов, которая может работать на различных платформах .

2 голосов
/ 07 марта 2017

Мне показалось, что Документы немного сложны для понимания, поэтому я попытался прояснить ситуацию немного.

Portable Class Library создана, чтобы позволить программистам создавать проекты, которые будут работать на нескольких платформах, таких как Xbox 360, Windows Phone, Silverlight и .NET Framework (4 и выше). это делается путем пропуска некоторых определенных API, которые не поддерживаются выбранными вами целевыми платформами, что приведет к потере некоторых доступных функций .Net Framework.

Таким образом, мы можем сказать, что выбор между Portable class library и Normal class library зависит от целевых платформ вашего проекта. если вы хотите, чтобы ваше приложение работало на Xbox и настольных компьютерах с операционной системой Windows, вам лучше сэкономить свое время и использовать PCL, в отличие от обычной библиотеки классов, которая подойдет.

для получения дополнительной информации посетите страницу документации .

Теперь существует новая технология с открытым исходным кодом, названная .Net Standard, которая заменит PCL. .NET Standard решает проблему совместного использования кода для разработчиков .NET на всех платформах, предоставляя все API, которые вы ожидаете и любите, в нужных вам средах: настольные приложения, мобильные приложения и игры и облачные сервисы:

  • .NET Standard - это набор API, которые должны иметь все платформы .NET воплощать в жизнь. Это объединяет платформы .NET и предотвращает будущее фрагментация.
  • .NET Standard 2.0 будет реализован .NET Framework, .NET Core, и ксамарин. Для .NET Core это добавит многие существующие API которые были запрошены.
  • .NET Standard 2.0 содержит оболочку совместимости для .NET Framework двоичные файлы, значительно увеличивая набор библиотек, которые вы можете ссылка из ваших стандартных библиотек .NET.
  • .NET Standard заменит переносные библиотеки классов (PCL) в качестве история инструментов для создания мультиплатформенных библиотек .NET.

Вы можете увидеть определение .NET Standard API в DotNet / Standard Repo на GitHub.

Ссылка

...