19
Rider xplat adventures

Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

Embed Size (px)

Citation preview

Page 1: Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

Rider xplat adventures

Page 2: Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

xBuildНе собирается проект:

^[\w\.]+\.

Page 3: Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

xBuildxBuild при парсинге выражений всегда “чинит” слеши

Page 4: Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

xBuildEvaluation != Build

Page 5: Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

MonoНеожиданно начало падать Mono в тестах,после небольшого рефакторинга, stacktrace былипочти всегда разные.

Page 6: Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

Mono

Page 7: Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

MonoА не сэкономить ли нам немного памяти65535 интерфейсов хватит всем!

Page 8: Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

MonoПосле обновления пользовательской Mono перестало устанавливаться соединение.

Page 9: Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

MonoAccept делается не на том Socket

Page 10: Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

MonoИногда mono падает с вот таким stacktrace:

Page 11: Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

Mono

В master mono удалили статический конструктор

Page 12: Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

MonoИногда mono падает с вот таким stacktrace:

Page 13: Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

MonoВ mono добавили поддержку SIMD и на macOS она работала не правильно

Page 14: Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

MonoМоно падает при чтении системного NuGet.config

Page 15: Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

MonoNuGet.config в NuGet.Client читается с помощью NamedMutex, которые не очень работают в моно.

Page 16: Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

CoreCLRНа Linux не работает discover юнит тестов из .NET Core.Сделали маленькое repro, которое срабатывает, только когда запущен Rider.

Page 17: Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

CoreCLRВ имени Thread в Rider есть пробелы

Page 18: Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

Other issues1. NetMq AsyncSocket and SetSocketOption()2. MockWPF3. NotImplementedException4. \ vs /5. \r\n vs \n6. AppDomain LoadAssembly7. …

Page 19: Андрей Акиньшин и Михаил Филиппов «Rider: разговоры про внутренности и кроссплатформенность»

Итог1. Используем Mono из master

2. Используем бинарники xplat MSBuild

3. Пытаемся разрабатывать проект не только на Win

4. Репортим баги на github и иногда сами их чиним :)