netcoreapp vs netstandard
От: varenikAA  
Дата: 18.09.20 03:54
Оценка:
Наступил на грабли,
есть Microsoft.AspNetCore.Identity.UI в котором IEmailSender
который используется для регистрации прочей лабуды в Asp.Net.
Захотелось оформить реализацию отдельной библиотекой.
И тут оказалось, что с 3.0.0 эта зараза зависит от netcoreapp.
Какая-то лажа или я что не понял? Почему так вдруг закрутили?
Выходит, хочешь не хочешь придется всем переезжать на NET 5?
Неужели заговор?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: netcoreapp vs netstandard
От: Kolesiki  
Дата: 18.09.20 09:01
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Выходит, хочешь не хочешь придется всем переезжать на NET 5?

AA>Неужели заговор?

ыыы Неужели ты думаешь, MS не умеет выкручивать локти? Они этим занимаются со времён Win3.1!
Re: netcoreapp vs netstandard
От: Jack128  
Дата: 18.09.20 09:06
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Наступил на грабли,

AA>есть Microsoft.AspNetCore.Identity.UI в котором IEmailSender
AA>который используется для регистрации прочей лабуды в Asp.Net.
AA>Захотелось оформить реализацию отдельной библиотекой.
AA>И тут оказалось, что с 3.0.0 эта зараза зависит от netcoreapp.
AA>Какая-то лажа или я что не понял? Почему так вдруг закрутили?

AFAIR Весь ASP.NET Core начиная в 3 только на Core и работает.
Re: netcoreapp vs netstandard
От: Ночной Смотрящий Россия  
Дата: 18.09.20 09:40
Оценка: -1 :)
Здравствуйте, varenikAA, Вы писали:

AA>Какая-то лажа или я что не понял? Почему так вдруг закрутили?


Потому что .NET FW протухает и протухнет окончательно менее чем через пару месяцев. А без него netstd лишен смысла.

AA>Выходит, хочешь не хочешь придется всем переезжать на NET 5?

AA>Неужели заговор?

Вне всяких сомнений.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[2]: netcoreapp vs netstandard
От: varenikAA  
Дата: 21.09.20 01:49
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:
AA>>Какая-то лажа или я что не понял? Почему так вдруг закрутили?

НС>Потому что .NET FW протухает и протухнет окончательно менее чем через пару месяцев. А без него netstd лишен смысла.


И всё равно. Очевидно, не очень хорошее архитектурное решение. в сборке с UI лежит простой не зависящий от платформы интерфейс IEmailSender, который необходим для дефолтной логики авторизации, регистрации.
Мы хотим его реализовать, но для этого надо сделать сборку с реализацией сендера зависимой от всего корэ.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: netcoreapp vs netstandard
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 21.09.20 06:52
Оценка:
Здравствуйте, varenikAA, Вы писали:

https://tproger.ru/news/microsoft-net-standard-21/

Использование .NET Standard 2.1
Новую версию стандарта не планируют использовать в .NET Framework 4.8, который продолжит работать на версии 2.0. А вот .NET Core 3.0, Xamarin, Mono и Unity обновят до версии 2.1. При этом обновление всех библиотек не планируется, во всяком случае сейчас.

и солнце б утром не вставало, когда бы не было меня
Re[3]: netcoreapp vs netstandard
От: Ночной Смотрящий Россия  
Дата: 21.09.20 08:52
Оценка: +1
Здравствуйте, varenikAA, Вы писали:

AA>И всё равно. Очевидно, не очень хорошее архитектурное решение.


Очевидно это отличное архитектурное решение, поскольку позволяет избавиться от ненужного гемороя с поддержкой netstd 2.0.

AA> в сборке с UI лежит простой не зависящий от платформы интерфейс IEmailSender, который необходим для дефолтной логики авторизации, регистрации.


И? Что надо сделать? Выделить пакет с одним единственным интерфейсом, при том что пакетов и так овердохрена? По этому пути хипста их кора уже ходила, когда в первых версиях безобидный функционал цеплял десятки, а то и сотню нугетов. От этого идиотизма слава богу избавились.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[4]: netcoreapp vs netstandard
От: varenikAA  
Дата: 21.09.20 09:12
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>И? Что надо сделать? Выделить пакет с одним единственным интерфейсом, при том что пакетов и так овердохрена? По этому пути хипста их кора уже ходила, когда в первых версиях безобидный функционал цеплял десятки, а то и сотню нугетов. От этого идиотизма слава богу избавились.


и поэтому в UI сборке у нас будет интерфейс сервиса, которому ЮАЙ совсем ни к чему?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[5]: netcoreapp vs netstandard
От: Ночной Смотрящий Россия  
Дата: 21.09.20 09:14
Оценка: +1
Здравствуйте, varenikAA, Вы писали:

AA>и поэтому в UI сборке у нас будет интерфейс сервиса, которому ЮАЙ совсем ни к чему?


Дя, чтобы не ломать совместимость.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[6]: netcoreapp vs netstandard
От: varenikAA  
Дата: 21.09.20 09:41
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

AA>>и поэтому в UI сборке у нас будет интерфейс сервиса, которому ЮАЙ совсем ни к чему?


НС>Дя, чтобы не ломать совместимость.


Думаю ничего бы не поломалось. выделить в отдельную сборку интерфейс. Кто будет мигрировать, все равно будет обновлять версии пакетов.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[7]: netcoreapp vs netstandard
От: Ночной Смотрящий Россия  
Дата: 21.09.20 09:57
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Думаю ничего бы не поломалось. выделить в отдельную сборку интерфейс.


Но пользы от того тоже пояти нет. Так нафига платить больше?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[8]: netcoreapp vs netstandard
От: varenikAA  
Дата: 22.09.20 01:32
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, varenikAA, Вы писали:


AA>>Думаю ничего бы не поломалось. выделить в отдельную сборку интерфейс.


НС>Но пользы от того тоже пояти нет. Так нафига платить больше?


Польза очевидна: могут быть старые и новые проекты, реализация общая, если 2.0, иначе все кору 3.1 перетаскивать.
Это же первая аксиома Дяди Бо — зависимости есть зло.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[9]: netcoreapp vs netstandard
От: Ночной Смотрящий Россия  
Дата: 22.09.20 05:01
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Польза очевидна: могут быть старые и новые проекты, реализация общая,


Проблема в одном интерфейсе с одним методом? Серьезно? Ты тут уже в три раза больше текста написал.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[2]: netcoreapp vs netstandard
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.09.20 14:50
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Потому что .NET FW протухает и протухнет окончательно менее чем через пару месяцев. А без него netstd лишен смысла.


На виндах раскатано море копий старых фрэймворков и люди еще лет 20 будут писать под них софт. Кроме того есть тот Кзамарин и потребность создавать независимые от платформы библиотеки не пропадет никогда.

Есть такое понятие обратная совместимость. Раньше, когда Гейтс рулил, МС считала этот принцип священным. А сейчас там собралось стало баранов не понимающих важность этого принципа. Потому и усиленно теряют рынки.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: netcoreapp vs netstandard
От: Ночной Смотрящий Россия  
Дата: 23.09.20 14:54
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>На виндах раскатано море копий старых фрэймворков


Если брать с поддержкой netstd2, то не такое уж и море.

VD> и люди еще лет 20 будут писать под них софт.


Нафига? Уже сейчас есть возможность таскать кор с собой. В 5.0 будет возможность упихать все в один файл.

VD> Кроме того есть тот Кзамарин


Там 2.1 поддерживается.

VD>Есть такое понятие обратная совместимость. Раньше, когда Гейтс рулил, МС считала этот принцип священным. А сейчас там собралось стало баранов не понимающих важность этого принципа. Потому и усиленно теряют рынки.


Ага, особенно кор усиленно рынки теряет по сравнению с FW.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[4]: netcoreapp vs netstandard
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.09.20 14:56
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>И? Что надо сделать? Выделить пакет с одним единственным интерфейсом, при том что пакетов и так овердохрена? По этому пути хипста их кора уже ходила, когда в первых версиях безобидный функционал цеплял десятки, а то и сотню нугетов. От этого идиотизма слава богу избавились.


Интерфейс с одним методом. Зачем он вообще нужен? Заменить стандартный делегат System.Func<string, string, string, System.Threading.Tasks.Task>.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: netcoreapp vs netstandard
От: Ночной Смотрящий Россия  
Дата: 23.09.20 15:00
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Интерфейс с одним методом. Зачем он вообще нужен? Заменить стандартный делегат System.Func<string, string, string, System.Threading.Tasks.Task>.


Публиковать в DI универсальные делегаты — не так чтобы хорошая идея.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[4]: netcoreapp vs netstandard
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.09.20 15:03
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Нафига? Уже сейчас есть возможность таскать кор с собой. В 5.0 будет возможность упихать все в один файл.


А чтобы людям не приходилось таскать за собой фрэймворк.

НС>Ага, особенно кор усиленно рынки теряет по сравнению с FW.


При таком подходе будет. Виндофон просрали же.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: netcoreapp vs netstandard
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.09.20 15:04
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Публиковать в DI универсальные делегаты — не так чтобы хорошая идея.


А что плохого если нужна ссылка на один метод? Вот что хорошего во ведении нового типа на ровном месте?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: netcoreapp vs netstandard
От: Ночной Смотрящий Россия  
Дата: 23.09.20 17:10
Оценка: +1
Здравствуйте, VladD2, Вы писали:

НС>>Публиковать в DI универсальные делегаты — не так чтобы хорошая идея.

VD>А что плохого если нужна ссылка на один метод? Вот что хорошего во ведении нового типа на ровном месте?

Еще раз, по буквам. Как правило этот самый IEmailSender используется через DI. Код примерно такой:
services.AddSingleton<IEmailSender>(myEmailSender);
...
public SomeDIService(IEmailSender sender) => sender.Send(...);

Как ты его с Func перепишешь?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.