Vasily
Внешние скрипты обычно уводят в странные дебри
Ayrat
А кто знает инкрементный билд это фича мсбилда или вижуал студии, которая палит измененные файлы?
Vasily
Мсбилда вроде
Vasily
Хотя могу и врать
Vasily
Скорее действительно студии
Ayrat
Просто связанный вопрос, если я делаю dotnet build в папке F# и он ребилдит все подряд хотя нет изменений, кто виноват?)
Vasily
Мсбилд
Vasily
Вообще, в билд систему сложно встроить инкрементальную сборку
Ayrat
А может F# компилятор как-то связан? Хз, вроде не должен. C# давно не билдил, хз как оно там
Vasily
Аналогично
Vasily
У мсбилда нет информации об актуальности проектов
Vasily
Он исходным кодом не управляет
Ayrat
Вообще, в билд систему сложно встроить инкрементальную сборку
Да, я даже не знаю как подступиться. FileSystemWatcher вешать на папку? А как закрывать его? А открывать когда? Одни вопросы
Vasily
Тебя смущает долгий билд или что?
Ayrat
Редко)
Vasily
Ну переведи на нугет пакеты
Vasily
Вместо проектных зависимостей
Ayrat
Ну да. Можно
Vasily
Будет тебе инкрементальный билд
Ayrat
Только при изменении надо будет перепаблишить нугет, а так все ок)
Vasily
Ну паблиш всегда можно в билд встроить
Ayrat
Эт да.
Vasily
Причем нугет можно локально развернуть
Vasily
В отдельной папочке
Vasily
Без веба
Vasily
И прочей хрени
Vasily
Кстати, @fvnever прав
Vasily
Я решил погуглить :)
Dr. Friedrich
Для F#-проектов у меня раньше нормально работал dotnet watch, ещё на .NET Core 1.
Dr. Friedrich
Щас его просто в SDK затянули, всё равно должен ок работать.
Ayrat
емаё, я о нём забыл совсем
Ayrat
чот я почитал как они предлагают делать в мсбилде https://docs.microsoft.com/en-us/visualstudio/msbuild/how-to-build-incrementally дичЪ какая-то
Ayrat
руками прописывать инпуты и аутпуты??..
Ayrat
в прожект файле...
Ayrat
ебать я тупой... Я ток сейчас понял что дотнет билд и правда инкрементальный запустив его 5 раз подряд в папке. Одно плохо, у меня авто клин bin и obj папок стоит перед билд экшном :D
Ayrat
мда. Это ж сколько человекочасов я на эту фигню убил
Bonart
Автоклин - это сурово
Ayrat
Его надо было только перед релизной сборкой оставить
Bonart
В такие минуты с ностальгией вспоминаешь дельфи
Ayrat
Что я собсно и сделал сейчас))))
Ayrat
Мда.
Vasily
А вот автоклин-это уже ответственность билд сервера
Ayrat
Ну не, это бывает надо и локально
Ayrat
просто когда оно бывает надо, проще руками сделать
Vasily
Ну не знаю
Vasily
Добавь автоклин тогда только в релизный конфиг
Ayrat
это бывает надо когда всякие dll в рантайме подгружаются, а не через манифесты и пр
Ayrat
дада, я так и сделал. Тупил целый год
Ayrat
эти dll бывают залипают не на той версии даже от ребилда, т.к. они явно не билдятся и вот тут начинаются гейзенбаги.
Bonart
Хм.... а кто обеспечивает ту версию? В солюшене эти dll есть?
Ayrat
Магический рантайм Ажурных функций
Ayrat
например
Bonart
А это нельзя в нугет какой-нибудь завернуть? Чисто без ссылок на сборки, только чтобы файлы выкладывал
Ayrat
получается что это мои дллки являются внешними для рантайма))) т.е. мне надо убеждаться что в bin папке которую собираю НЕ Я, мои dll были нужных версий. Там слишком много магии придумали, когда подключаешь nuget Microsoft.NET.Sdk.Functions то у тебя процесс билда меняется
Ayrat
собирается в bin/Debug/netstandard2.0 (пока всё обычно) /bin (чтобля?)
Bonart
Нихуахухоль
Ayrat
в папке bin/Debug/netstandard2.0 будет лежать ещё помимо вложенного bin с МОИМИ dll, папка с названием функции (берётся из названия fsproj) где лежит унылый json, по которому функция в рантайме биндится. Там ентрипоинт указывается строкой, все входные аргументы и выходные аргументы)))
Ayrat
да, дичь придумали. поэтому для серверлесс всё ещё рекомендую AWS Lambda
Pavel
Какая-то жесть, кто этим вообще пользуется?
Pavel
Я так понимаю, что все это ещё и не задокументировано
Ayrat
Ну, было долго незадокументировано, да. Я пользуюсь очень активно
Romɑn
Оказывается у мемберов в fsharplang-ru не было прав на запись!
Romɑn
исправил
Ayrat
Я так понимаю, что все это ещё и не задокументировано
ишью про захардкоженные версии либ в рантайме скоро исполнится 2 года https://github.com/Azure/azure-functions-host/issues/992 знаменитое в узких кругах ишью чтобы поржать. Не так давно, они разродились на страничку в вики, которая лишь ПРЕДУПРЕЖДАЕТ о существовании проблемы: https://github.com/Azure/azure-functions-host/wiki/Assembly-Resolution-in-Azure-Functions потому что раньше неофиты просто начинали пользоваться и получали даже не граблями по лбу, а семитонным самосвалом.
Ayrat
только щас понял, что оттуда весь флуд негативный потёрли. В этом ишью устроивали карнавал каждую неделю вида НУ ЧО КОГДА (50 плюсов) им отвечали - мы работаем (50 минусов)
Ayrat
эх, а было весело перечитывать
Nikolay
Nikolay
В голос
Romɑn
лол
Ιπταμενο
https://github.com/thangchung/awesome-dotnet-core/pull/291 Прoдoлжаем фoрс F# (и Funogram) в .NET Core кoмьюнити!
Romɑn
Только это в профильный чат
Romɑn
Блин, правила во флудилке вводить прям как-то глупо, но и от чата отделяться тоже не надо)
Romɑn
@Dolfik коллекция стикеров