Информация об изменениях

Сообщение .NET Core и Dependency Hell? от 20.10.2016 9:24

Изменено 20.10.2016 9:29 fmiracle

Изучаю новую .net core
Запуск под Линукс — прекрасно.
Консольные тулы — отлично.

Разбивка всего на отдельные мелкие-мелкие компоненты — тоже хорошо, но вызывает опасения. Удачный пример такой разбивки есть — нода с ее npm. Но нода и npm позволяют приложению использовать одновременно несколько разные версий оной библиотеки и это дает возможность спокойно разрабатывать эти отдельные модули реально независимо друг от друга и не переживать про то, какую версию библиотек при этом используешь ты и какую, возможно, будут использовать пользователи твоей библиотеки.

А что с .net Core?
Описание nuget
https://docs.nuget.org/ndocs/consume-packages/dependency-resolution

Показывает, что если приложение использует Сборку1 и Сборку2, а Сборка1 использует Сборку2, но другой версии, то использоваться будет единственная версия Сборки2, определяемой приложением.

Но тут возможны очень неприятные неожиданности, если окажется, что Сборка1 корректно работает только с той, своей версией Сборки2, а с новой версией работает, но некорректно

Проблема есть или я что-то неправильно понимаю?
.NET Core и Dependency Hell?
Изучаю новую .net core
Запуск под Линукс — прекрасно.
Консольные тулы — отлично.

Разбивка всего на отдельные мелкие-мелкие компоненты — тоже хорошо, но вызывает опасения. Удачный пример такой разбивки есть — нода с ее npm. Но нода и npm позволяют приложению использовать одновременно несколько разные версий одной библиотеки и это дает возможность спокойно разрабатывать эти отдельные модули реально независимо друг от друга и не переживать про то, какую версию библиотек при этом используешь ты и какую, возможно, будут использовать пользователи твоей библиотеки.

А что с .net Core?
Описание nuget
https://docs.nuget.org/ndocs/consume-packages/dependency-resolution

Показывает, что если приложение использует Сборку1 и Сборку2, а Сборка1 использует Сборку2, но другой версии, то использоваться будет единственная версия Сборки2, определяемой приложением.

Но тут возможны очень неприятные неожиданности, если окажется, что Сборка1 корректно работает только с той, своей версией Сборки2, а с новой версией работает, но некорректно

Проблема есть или я что-то неправильно понимаю?