Что такое переносимая библиотека классов?

109

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

См. System.ObjectПример. http://msdn.microsoft.com/en-us/library/system.object.aspx

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

mjcopple
источник
1
В качестве предупреждения - мы добавили дополнительную поддержку Portable Class Library в Visual Studio 11 Beta, которая выйдет на следующей неделе.
Дэвид Кин,

Ответы:

84

ОБНОВЛЕНИЕ 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 union от @shanselman с множеством конкретных примеров, снимков экрана и ссылок. Оставляет здесь в тени любой другой ответ.

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

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


Видео: выпуск Visual Studio Toolbox на канале 9, выпуск 14 июня 2012 г.

Видео: Channel 9 Going Deep Show, выпуск 27 сентября 2011 г.


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

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

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


См. Сообщение в блоге с объявлением Portable Library Tools , которое начинается: -

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

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

См. Также эту сводную статью InfoQ

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

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

Рубен Бартелинк
источник
2
опередил меня на 27 секунд; p
Marc Gravell
2
@Marc Gravell: Это случается не часто, уф! - но ты победил @Darin, если это поможет ...
Рубен Бартелинк 08
4
Множество замечательных деталей, но я думаю, что это могло бы выиграть от простого объяснения для тех, кто совершенно в этом новичок.
Лукас
@Lucas Что ж, мои попытки поддерживать его в актуальном состоянии сделали его вики-сообществом, так что не стесняйтесь редактировать все, что, по вашему мнению, объяснит это так, как вы считаете полезным (я нашел статью InfoQ хорошей), подумали те, кто находится наверху наверное, самые
разносторонние
1
Было бы лучше резюмировать эти статьи и поставить здесь вкратце. В настоящее время его читают 40 450 человек, при этом в среднем 20 минут (допустим) на переход по ссылкам означает в общей сложности 561 день, потраченный впустую.
Зафар
53
  • Проект Portable Class Library позволяет вам писать и строить управляемые сборки, которые работают на нескольких платформах .NET Framework. Вы можете создавать классы, содержащие код, который вы хотите использовать во многих проектах, например общую бизнес-логику, а затем ссылаться на эти классы из разных типов проектов.

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

В MSDN теперь есть хорошая статья / документация по нему . Вы можете проверить это и увидеть, что поддерживается в .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)

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

Значок для переносимой библиотеки классов (Значок переносимой библиотеки классов, который вы увидите в Документах MSDN.)


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

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

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

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

введите описание изображения здесь

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

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

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

Шехар_Про
источник
Что касается последнего обновления, я не думаю, что есть Visual Studio 2014, но PCL, похоже, включен в Visual Studio 2013. (По крайней мере, версия сообщества, которая у меня есть)
Джейк,
7

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

Дарин Димитров
источник
Могу ли я отправить свой переносимый .csproj людям, у которых не установлены эти инструменты?
лизергиновая кислота
2
Чтобы запустить приложение Portable Class Library, на вашем компьютере должно быть установлено обновление для .NET Framework 4. Это обновление автоматически устанавливается с Visual Studio 2010 SP1, поэтому вы можете запускать приложение Portable Class Library без дальнейших изменений на компьютере, который вы использовали для разработки приложения. Чтобы запустить приложение на другом компьютере, вы можете установить обновление вручную.
Jowen
2

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

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

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

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

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

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

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

Ссылка

AmiNadimi
источник