Здравствуйте, Arsen.Shnurkov, Вы писали:
AS>а других API у нас для вас нет:
AS>http://arsenshnurkov.github.io/linux-sharp/mpt-csproj/existing-code.htm
Угу. И ещё надо учитывать, что помимо csproj нужны sln , т.к. в них прописывается порядок сборки (отдельные гении добавляют ссылки на сборки не как project reference, а как ссылку на собранную библиотеку в общей папке bin).
Кроме того нужно учитывать conditional build symbols, всевозможные извращения в виде targets include а также мегатонны приседаний с ссылками на библиотеки из нюгета с адскими хаками в виде перенаправления версий через app.config.
В общем тут всё очень печально и очень сильно завязано на легаси, чтоб делать что-либо с наскока. Особенно если не дай бог речь про мерж нескольких солюшнов. В общем случае только застрелиться можно.
Если речь про утилиту под себя, то я бы решил дело простым парсером sln + csproj-файлов. Делал такое несколько десятков раз, наколеночный вариант обычно укладывается в 1k строк, редко больше.
Если речь про универсальную утилиту — нужно знать, какую проблему вы пытаетесь решить. Потому что легко может оказаться так, что изначальные требования типа манипуляций с зависимостями — только вершина айсберга, тут любая мелочь может подкинуть очень неприятные сюрпризы.
S>> я могу только помахать рукой и пожелать удачи
AS>я так и сказал. Могли бы что-то ещё, дали бы ссылку на книжку с методикой.
Ну блин, кто ж знал, что спрашивая про "как сделать слоёную архитектуру" вы на самом деле интересовались, как сделать своё API для правки csproj-файлов?