Re[13]: API и слоёные архитектуры
От: Arsen.Shnurkov  
Дата: 14.09.16 15:16
Оценка:
AS>>С ошибками правда, указав что бывают Project Reference (в .csproj), Assembly Reference (в .csproj)
AS>>и ссылки (dependencies) между проектами в .sln, только вы смешали второе и третье понятие.

S>Дано: проект A с

S>[code]
S><Reference Include="somelib.dll">
S> <HintPath>..\proj\bin\somelib.dll</HintPath>
S></Reference>
S>[code]

S>Как вы правильно определите зависимости (и порядок сборки) без .sln-файла?


Наличие зависимости запросто определю — увижу в .csproj элемент Reference вместо ProjectReference.

Собрать правильно без .sln файла не смогу, но меня это не волнует, потому что задача парсинга .sln проще, чем задача парсинга .csproj,
в ней всего три уровня — нет XML и нет MSBUILD-элементов.
И конкретно у меня задача парсинга .sln уже решена, мне хватает
(это та самая библиотека CWDev.SLNTools которая занимается тем, что мержит солюшены)

То есть для зависимость записана в .csproj для определения наличия зависимости .sln не нужен.

Конечно, хорошо бы и код работы с .sln переписать, чтобы сохранялось форматирование. Но я спрашивал про проектирование абстрактно,
если мне дадут методику для .csproj,
то для .sln, .nuspec, .package и .config я её уже сам применю по-аналогии.

S> Я правильно понял, что оно нужно для того, чтоб заменить существующую инфраструктуру sln/csproj/msbuild?


нет, неправильно. Я согласен и на интеграцию. Просто существующая реализация этой инфраструктуры не решает мои задачи.
А мне надо, чтобы они решались.

S>* У меня есть x

S>* Я хочу получить y, затратив z1 и с дополнительными условиями z2
S>* для этого мой фреймворк должен уметь a, b и c.
S> Вы расписываете только последнюю часть, да и то отдельные частные случаи, из которых первые два пункта не восстановишь.

Я это делаю СПЕЦИАЛЬНО для того, чтобы акцентировать внимание именно на задаче разработки фреймворка.
Если я опишу общую задачу, разговор уйдет в нейронные сети или ещё куда не туда свернёт.
Скажете, "нет, это слишком сложно" и на этом обсуждение закончится.

С другой стороны, написать технико-экономическое обоснование того,
что мой фреймворк подарит миру больше счастья меньшими суммарными усилиями жителей планеты
чем сушествующий multiple framework от microsoft
мне пока трудновато.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.