Shub
студия билдит проект без проблем, fake скрипт не может разобраться с зависимостями
Vasily
не очень понял я
Вопрос в том, как, опираясь на условные метаданные, нагегерить кучу сериализаторов
Dr. Friedrich
Vasily
Dr. Friedrich
Ну в F# ты можешь тайппровайдер сделать
Vasily
Могу
Dr. Friedrich
А кодеген для чего угодно подходит — просто пишешь внешний тул, который парсит дефинишены и выдаёт код
Vasily
И скорее всего его и буду делать
Ayrat
Dr. Friedrich
Тайп-провайдер — куда более изящное решение, но кодеген проще
Ayrat
я б сгенерил
Shub
Dr. Friedrich
Да, мне тоже про студию и фейк интересно.
Shub
я его несколько раз подряд запускаю - он каждый раз с разной ошибкой падает
Ayrat
например?
например объявляет кучу енвайрнмет приблуд, которые могут влиять на ход билда
Dr. Friedrich
Ок, это правда.
Shub
ну вчера ж билдил
Ayrat
типа там SqlExtensionPath = ..
Shub
скрипт, в смыслес
Dr. Friedrich
ну вчера ж билдил
Мб вчера был не clean build, а сегодня ты чото почистил?
Shub
он стал жаловаться, что не может разрешить зависимости с nuget
Shub
хотя все отлично разрешалось еще вчера
Dr. Friedrich
Мда, действительно как-то бессмысленно выглядит
Shub
разрешения зависимостей - это ж пакет, не так ли?
Ayrat
скажи название репки
Shub
так она-то билдится
Dr. Friedrich
Дайте проект Айрату, он разберётся и починит :)
Shub
о
Shub
на пятый раз и скрипт сбилдил
Ayrat
так жить нельзя
Shub
заметил видимо, что я к Айрату пошел
Ayrat
я уже вбил название вашей команды в TFS
Shub
ну ты ж в курсе, что наши девопсы щас делают?
Ayrat
Какую-то ебалу с GetTrusted?
Shub
типа все должно идти через артифактори, чтобы оно проксировало все. но при этом много чего закрыто правами сетевых фильтров
Ayrat
а, это как раз с этим связано
Shub
поэтому билды переодически ломаются
Shub
хз, по идее наши пакеты должны быть на артифактори
Ayrat
Типа сеть Джета должна стать доверенной в сети Волмарта, а для этого надо удовлетворять неким критерями безопасности. Один из них - никакого интернета на билд агентах, все пакеты с внутреннего артифактори
Shub
я только за
Shub
просто не надо рандомно мне билд ронять на локальной машине
Ayrat
ну это ненормально же
Ayrat
то есть оно не должно так работать, чот у тебя не так. Мы уже перевели всё на артифактори и проблем нет с повторяемостью билда
Shub
проблемы с разрешениями. по ходу, у нас абсолютно все заточено под винду
Shub
ну или я не знаю, как это объяснить: из виндового терминала собралось на 5 раз, из wsl говорит “не могу найти пакет такой-то на артифактори, вернули 405 method not allowed”
Shub
о, а вот и студия сломалась
Shub
Unable to find the file 'netstandard.dll' in any of
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\
Shub
после чего завесилась, паскуда
Ayrat
чот тут не то
Ayrat
жопкой чую что виновата прокладка между стулом и монитором!!11
Shub
сколько лет дают за ребилд проекта?
Shub
ок, ребутнусь. винда сама себя не ребутнет
Shub
по хер пойми какой причине наших пакетов нет на артифакторе
Shub
жесть какая, как вы так живете
Shub
[F#][INFO 02:18:38 PM] Rechecking code due to buffer edit!
[F#][ERROR 02:18:39 PM] Line Lens startup failed with: System.ArgumentException: The option value was None
Parameter name: option
at Microsoft.FSharp.Core.OptionModule.GetValue[T](FSharpOption`1 option)
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at System.Lazy`1.get_Value()
at <StartupCode$FSharp-Editor>.$FSharpCodeLensService.clo@142-177.Invoke(Unit _arg9)
at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvokeNoHijackCheck[a,b](AsyncActivation`1 ctxt, FSharpFunc`2 userCode, b result1)
at <StartupCode$FSharp-Editor>.$FSharpCodeLensService.clo@141-175.Invoke(AsyncActivation`1 ctxt)
at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction)
[F#][INFO 02:18:39 PM] Rechecking code due to buffer edit!
[F#][ERROR 02:18:40 PM] Line Lens startup failed with: System.ArgumentException: The option value was None
Shub
нашел, почему то билдится, то не билдится
Shub
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2110,5): warning MSB3243: No way to resolve conflict between “<redacted>, Version=5.0.1.0, Culture=neutral, PublicKeyToken=null" and “<redacted>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null". Choosing “<redacted>, Version=5.0.1.0, Culture=neutral, PublicKeyToken=null" arbitrarily.``
Shub
блин, я такого даже в скале не видел, а уж там мракобесие в зависимостях - люди рассудок теряли
Hog
жопкой чую что виновата прокладка между стулом и монитором!!11
Фил Ранжин
кто-нить делал виндовый сервис на F#?
Фил Ранжин
я просто их вообще не делал, вот сейчас нужно зафигачить. Чё думаете?
Shub
Фил Ранжин
неа
Shub
Shub
неа
про интероп с .NET читал уже?
Shub
пишешь все, как обычно, только заворачиваешь свой top-level тип в сборке в объект, совместимый с .net
Фил Ранжин
я просто вообще без понятия, как устроены эти сервисы
Фил Ранжин
поэтому и спрашивал
Shub
устроены довольно просто, деталей щас не помню, но там что-то один или два класса с заданным интерфейсом
Фил Ранжин
ага
Фил Ранжин
ну т.е. особых проблем от ф не будет
Фил Ранжин
окей, попробую
Shub
я в свое время не выкупил, как это все нормально отлаживать. впрочем, в то время ТДД не практиковалось
Фил Ранжин
о, я отлаживал
Фил Ранжин
это пиздец
Фил Ранжин
надо класть Debagger.Stop или чё то такое в сорцы
Фил Ранжин
и пдбшки рядом с екзехой ложить
Ayrat
Для виндовых сервисом бери topshelf либа
Ayrat
Она сразу ок сделает, и сразу cli вкорячит для установки удаления
Hog
Если торчать наружу асп.нетом, то всё делается в коре изкоробки.