Является ли переход на переносную библиотеку классов серьезным изменением?

На данный момент я создаю отдельные двоичные файлы для каждой среды выполнения.

  • .нет 4
  • телефон с операционной системой Виндоус
  • Сильверлайт

Теперь, если я перенесу библиотеку в единую Portable Class Library, и я не меняю функциональность, считается ли это критическим изменением?

Или, с точки зрения SemVer, это серьезное, незначительное изменение или изменение версии исправления?


person Simon    schedule 27.04.2012    source источник


Ответы (4)


Я бы сказал, что это незначительное изменение версии, потому что код, который ссылается на вашу библиотеку, теперь подлежит некоторые специфические капризы PCL:

При развертывании приложения .NET Framework 4, которое ссылается на сборку переносимой библиотеки классов, необходимо указать зависимость от обновления .NET Framework 4. Указав эту зависимость, вы гарантируете, что обновление будет установлено вместе с вашим приложением.

Кроме того, если вы открыли доступ к определенным типам Framework, потребители кода могут нужно изменить.

person user7116    schedule 27.04.2012

Да и нет. Как заявили sixlettervariables, если ранее была нацелена на версию 4.0, да, переход на переносную версию является критическим изменением, потому что теперь у вас есть зависимость от обновления .NET Framework, которой раньше не было. Для других платформ (или для .NET 4.0.3 или выше) нет, это не критическое изменение.

person David Kean    schedule 12.09.2012

Хотя в теории это должно быть незначительным изменением, в реальности все немного сложнее.

Говоря об опыте, у меня было несколько проблем с обновлением сборок до переносимых библиотек классов. Это включает:

  • IIS с .net 4 не загружал сборку PCL, поскольку не мог найти «System.Core».
  • В Mono 2.10 есть проблемы с переносимыми библиотеками классов. Ходят слухи, что это исправлено в Mono 2.12 http://www.mono-project.com/Release_Notes_Mono_2.12< /а>

Это, скорее всего, проблемы с прорезыванием зубов, которые будут решены в будущем. Но просто помните о возможных проблемах восходящего потока, которые вы можете вызвать у потребителей вашей библиотеки.

person Simon    schedule 12.09.2012
comment
Проблема с IIS, вероятно, связана с отсутствием обновления 4.0, указанного в документации, как в моем комментарии. Моно - хороший момент, и я не учитывал это. - person David Kean; 13.09.2012

Я бы сказал, что если вы можете просто добавить новую сборку, и все продолжит работать, как и раньше, без каких-либо изменений кода, то это не критическое изменение.

Переход на PCL — довольно нейтральная операция с точки зрения потребителя библиотеки. Для них это все еще просто библиотека классов.

С точки зрения краткости, я думаю, что это будет считаться второстепенной версией.

person Dan Rigby    schedule 27.04.2012