Всем привет!
Имею следующую ситуацию: есть .NET проект (условно назовем Data). Этот проект развивался в рамках одного решения, теперь появилось второе решение в отдельном репзитории которое тоже должно использовать Data. Очевидное решение, как сначала показалось, в зависимости в виде NuGet-пакета. Благо билд-сервер есть, настроить сборки не проблема. И все бы хорошо, но Data зависит от одной нативной dll которая разная в Debug и Release-конфигурациях. И нам соответственно нужно чтобы в разных конфигах бралась соответствующая для каждого из решений.
В рамках одного решения мы это реализовываем просто: в Data.csproj воткнуто два <reference> с разными condition и в момент сборки все в шоколаде! А вот с пакетом так сделать нельзя. Конфигурации он не поддерживает насколько я понимаю
Решение думалось в том чтобы сделать два пакета — Debug и Release.
Первая наивная идея была также прописать condition после установки пакета. Но, идея быстро разбилась о суровую реальность — при адейте пакета кондишены затираются нафиг.
Вторая идея была похитрее — при установке пакета писать в xml атрибут c кондишеном. Но и тут ждал удар по печени. После установки пакета *.csproj не меняется! Меняется только в момент билда.
Третьей идеи пока что не возникло
Соответственно если кто сталкивался с похожими задачами поделитесь плз опытом.