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
мне пока трудновато.