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

Сообщение [Ann, ready to merge] поддержка netcore 2 и netstandard 2 от 30.09.2017 11:29

Изменено 30.09.2017 11:56 Sinix

[Ann, ready to merge] поддержка netcore 2 и netstandard 2
При помощи лома и такой-то матери с четвёртой попытки удалось перевести CJ на новый тулинг студии, добавить нормальный conditional build и сборку пакетов и таргетинг для netcore и netstandard.

Общие впечатления — даже не пытайтесь это повторить на коммерческих проектах. Такого количества разнообразных косяков, багов, пофигизма в плохом смысле слова и политики "мы тестировать не будем, т.к. иначе релиз выпустить не получится" я не видел никогда

Путём не меньших костылей удалось даже завести тесты на appveyor, тадам и всё такое.

Ветка — feature/netstandard2, для того чтобы проверить:
1. Закрываем студию. Обновляем до 15.3.5, если ещё не. Предупреждение раз: начиная с 15.3 каждое обновление vs 2017 ломает что-нибудь или в процессе сборки или в работе с азуром. Если есть пакеты, которые зависят от netstandard-библиотек — готовьтесь к приключениям. Предупреждение два: откат на предыдущие версии — только снести студию и установить заново. В общем, общий настрой вы поняли.
2. Убеждаемся, что от студии не осталось никаких зависших процессов. Msbuild, vbcscompiler и тыды.
3. Грохаем все bin/obj папки и грохаем папку `.vs` в корне. Для очистким можно использовать вот этот скрипт powershell
gci -inc bin,obj -rec | rm -rec -force
gci -inc bin,obj -rec | rm -rec -force

4. Открываем солюшн и, не делая сборку, переключаемся на Build configuration Publish. Собираем. Если собралось — выдыхаем, переключаемся на Debug/Release и работаем спокойно.
5. Если звёзды не сошлись — посылаем лучи любви разработчикам тулинга, нюгета, dotnet cli и тому гению, который решил собрать всю эту солянку без тестирования и не проследив, чтобы везде использовалась хотя бы одна и та же версия библиотек. Ну и пишем сюда. Оф саппорт ушёл в несознанку, на реквесты реакции нет. Да, юнит-тесты из голой консоли могут не заработать ибо вот.

Если повезло — в дальнейшем всё работает без сбоев. По крайней мере до следующего обновления студии.

Собственно вопрос: мержить будем?
Если да — надо, чтобы кто-то настроил сборку справки (DocsProject). Я её на время вообще убрал из солюшна.
[Ann, ready to merge] поддержка netcore 2 и netstandard 2
При помощи лома и такой-то матери с четвёртой попытки удалось перевести CJ на новый тулинг студии, добавить нормальный conditional build и сборку пакетов и таргетинг для netcore и netstandard.

Общие впечатления — даже не пытайтесь это повторить на коммерческих проектах. Такого количества разнообразных косяков, багов, пофигизма в плохом смысле слова и политики "мы тестировать не будем, т.к. иначе релиз выпустить не получится" я не видел никогда

Путём не меньших костылей удалось даже завести тесты на appveyor, тадам и всё такое.

Ветка — feature/netstandard2, для того чтобы проверить:
1. Закрываем студию. Обновляем до 15.3.5, если ещё не. Предупреждение раз: начиная с 15.3 каждое обновление vs 2017 ломает что-нибудь или в процессе сборки или в работе с азуром. Если есть пакеты, которые зависят от netstandard-библиотек — готовьтесь к приключениям. Предупреждение два: откат на предыдущие версии — только снести студию и установить заново. В общем, общий настрой вы поняли.
2. Убеждаемся, что от студии не осталось никаких зависших процессов. Msbuild, vbcscompiler и тыды.
3. Грохаем все bin/obj папки и грохаем папку `.vs` в корне. Для очистким можно использовать вот этот скрипт powershell
gci -inc bin,obj -rec | rm -rec -force
gci -inc bin,obj -rec | rm -rec -force

4. Открываем солюшн и, не делая сборку, переключаемся на Build configuration Publish. Собираем. Если собралось — выдыхаем, переключаемся на Debug/Release и работаем спокойно.
5. Если звёзды не сошлись — посылаем лучи любви разработчикам тулинга, нюгета, dotnet cli и тому гению, который решил собрать всю эту солянку без тестирования и не проследив, чтобы везде использовалась хотя бы одна и та же версия библиотек.
Закрываем студию. Из Developer Console vs 2017 (переходим в папку с солюшном) вызываем
Build\RunMe.BuildPublishConfiguration.cmd

Открываем студию.

Если не помогло и это — пишем сюда. Оф саппорт ушёл в несознанку, на реквесты реакции нет. Да, юнит-тесты из голой консоли могут не заработать ибо вот.

Если повезло — в дальнейшем всё работает без сбоев. По крайней мере до следующего обновления студии.

Собственно вопрос: мержить будем?
Если да — надо, чтобы кто-то настроил сборку справки (DocsProject). Я её на время вообще убрал из солюшна.