
Igor
18.04.2017
13:14:32

Akhmed
18.04.2017
13:14:59
ну если ты переходя на новую версию можешь потерять целую платформу то какая же это обратная совместимость?

Friedrich
18.04.2017
13:16:18
Именно это и есть обратная совместимость.
Прога, написанная под старую платформу, заводится на новой.

Google

Friedrich
18.04.2017
13:16:46
Про поддержку старых платформ в обратной совместимости ничо нету :)

Akhmed
18.04.2017
13:18:11
https://msdn.microsoft.com/ru-ru/library/ff602939(v=vs.110).aspx
в качестве примера "Обратная совместимость и .NET Framework 4.5"
то что написано для .NET 2.0 должно работать под .NET 4.5
а тут получается что то что написан на .NET Standard 1.0 может потерять вообще целую платформу при переходе на .NET Standard 1.x

Nikolay
18.04.2017
13:19:31

Akhmed
18.04.2017
13:19:44
почему?

Nikolay
18.04.2017
13:19:51
Если у тебя какое-нибудь ActiveX/COM легаси говно на 2.0, оно не факт что будет работать на 4.5

Akhmed
18.04.2017
13:20:49
за всю практику написания .NET приложения (А я пишу промышленный код с .NET 1.1) ни разу не было нарушения обратной совместимости начиная с .NET 2.0
между 1.1 и 2.0 были несколько несмертельных косяков которые можно было поправить

Nikolay
18.04.2017
13:21:05
А у меня было
Вообще очень забавная ситуация получилась
Короче, мы щас пилим уже 4 проект на шерлоке под .net 2.0

Google

Akhmed
18.04.2017
13:21:41
ну ActiveX/COM это все таки не .NET

Nikolay
18.04.2017
13:21:41
Ну либо 3.5
Ибо оно не работает нихера

Akhmed
18.04.2017
13:22:02
вот есть еще .NET Client Profile - но это еще одна версия .NET

Nikolay
18.04.2017
13:22:23
Причём писали этим чудакам в шерлок, типа у нас не работает ваша какашка
Они 3 месяца нам делали мозг

Akhmed
18.04.2017
13:22:56
ну так это все таки проблема была во внешней либе за пределами .NET

Nikolay
18.04.2017
13:23:10
А потом сказали, что-то типа: "Если вы пытаетесь запустить под .Net 4+, то оно не будет работать"

Akhmed
18.04.2017
13:23:45
ну это знаете - когда нарушают контракты то такое случается
вот как многие разработчики виндовых приложений
хардкодили "C:\Program Files\"
а потом удивлялись почему не работает при установке на другие диски или на x64 машине

Vlad
18.04.2017
13:40:05

Roman
18.04.2017
13:44:48
кто-нибудь знает как обновитьт dotnet cli на винде (8)? а то у меня не обновляется нифига.

Akhmed
18.04.2017
13:53:37
вот ты пользуешься .net Standard 1.0 и у тебя работает платформы Windows 8, Android, iOS
переходишь на 1.5 и у тебя работает все что написано но только для Android, iOS
Вот у swift какая проблема была в начале? Они даже в минорных версиях ломали обратную совместимость.

Roman
18.04.2017
14:15:54
https://github.com/yreynhout/upiter смаритечо

Evgeniy
18.04.2017
14:25:24
@Stepanov_Roman Привет.

Google

Friedrich
18.04.2017
14:46:50

Nikolay
18.04.2017
14:48:28
Но оно даже без их контрола вроде не работало
А эти засранцы 3 месяца делали мозг, они думали, что у нас проблема с запуском их проги под Windows 10

Friedrich
18.04.2017
14:49:29
У меня был такой случай с POS-терминалом.
Короче, есть OPOS-драйвер опенсорсный, написанный на каком-то ужасе типа ATL.
Его дёргала дельфовая прога и моя на дотнете.
Дельфовая норм, а дотнетовой на все запросы отвечали "хер".

Vasily
18.04.2017
14:50:41
Дергала интеропом или как?

Friedrich
18.04.2017
14:51:21
Я поковырялся в дизасме, скомпилил и задеплоил дебажную версию драйвера с трассировкой, поднял души мёртвых, прочитал мануал. Ничего не помогло. Вызовы мы делали одни и те же, но у дельфовой проги они работали, а у моей нет.
И вот на третий день мне было видение.
Я пошёл и reshacker'ом вырезал манифест из своей проги.
И всё заработало.

Vasily
18.04.2017
14:52:10
Дык по какому каналу дергал?

Friedrich
18.04.2017
14:52:22
Интероп, родимый.
Я люблю интероп. Моё второе имя — Маршал Ансейф.

Vasily
18.04.2017
14:52:38
Декларации вызова соблюдал?

Friedrich
18.04.2017
14:52:44
Пфе, разумеется.

Vasily
18.04.2017
14:52:46
Офсеты у структурок опять же

Friedrich
18.04.2017
14:53:00
Я дебажил ATL-код и дампил каждый байт, который по API приходил.

Google

Vasily
18.04.2017
14:53:01
Выравнивание, это вот все

Friedrich
18.04.2017
14:53:17
Я отвечаю, что идеально один-в-один делались вызовы из дельфи-проги и из моей.

Vasily
18.04.2017
14:53:28
Нипанятна

Evgeniy
18.04.2017
14:53:35
Ого, Нёвер рассказывает байки.

Friedrich
18.04.2017
14:53:43
Но из-за манифеста у процессов была разная модель безопасности, и обращения к каким-то девайсам из дельфи-процесса получали нормальные ответы.

Nikolay
18.04.2017
14:53:49
Мы аидой тоже их либу ковыряли

Vasily
18.04.2017
14:54:00
У меня был забавный случай из практики тоже

Friedrich
18.04.2017
14:54:03

Akhmed
18.04.2017
14:54:04
https://www.youtube.com/watch?v=cxs7oLGrxQ4

Vasily
18.04.2017
14:54:05
Про бинарные форматы

Nikolay
18.04.2017
14:54:11
Вроде даже нашли где ошибка возникала

Friedrich
18.04.2017
14:54:17

Nikolay
18.04.2017
14:55:12
Самое печальное, что щас очередной проект на этой библиотеке
И опять придётся писать на 2.0 или 3.5

Friedrich
18.04.2017
14:56:07
У нас тоже такое было, что была сторонняя managed-либа, и в ней был баг.
Ну а хрен ли, я её через ildasm дампнул, подправил, и обратно заilasm'ил.

Nikolay
18.04.2017
14:56:45
Там всё сложнее

Friedrich
18.04.2017
14:56:50
И продакшен полтора месяца на моей поделке работал :)

Nikolay
18.04.2017
14:56:51
C# это просто враппер над C либой
Я дизасмил C# библиотеку)

Google

Vasily
18.04.2017
14:57:21
Ну можно свой враппер написать тогда

Nikolay
18.04.2017
14:58:24
Но ошибка возникала не в враппере)

Vasily
18.04.2017
14:58:38
Ну понятно, что в либе\
Через свой враппер ее проще локлизовать

Roman
18.04.2017
15:19:44
какое имя организации выберем? fsharplang-ru?

Vlad
18.04.2017
15:45:22
Ну на вид нормальное)

Friedrich
18.04.2017
16:06:18
Ну, впрочем, я не против fsharplang-ru.

Roman
18.04.2017
16:07:03
сайт называется fsharplang.ru

Friedrich
18.04.2017
16:07:15
А, ок тогда, согласен с названием.
Для сайта норм, и для организации сойдёт :)

Roman
18.04.2017
16:08:57
Давайте в личку ваши gihub username'ы или email'ы для тех кто хочет участвовать

Andrey
18.04.2017
16:09:31
В чем участвовать?

Friedrich
18.04.2017
16:09:56

Roman
18.04.2017
16:09:56
https://github.com/orgs/fsharplang-ru

Friedrich
18.04.2017
16:10:46
https://github.com/orgs/fsharplang-ru/people — вот тут ставьте у себя в настройках Public, если хотите, чтобы все видели, что вы участвуете в организации :)

Andrey
18.04.2017
16:11:01
andremoskvin@gmail.com

Friedrich
18.04.2017
16:11:43
В принципе, целесообразно приглашать только тех, кто что-то будет контрибьютить. Но никакого вреда от дополнительных участников нету, так что можно инвайтить всех подряд.
(это я по своему опыту говорю, я администратор https://github.com/orgs/codingteam)
@neftedollar ну и давай думать, что будем дальше делать :)

Roman
18.04.2017
16:14:07
готово.