Разные NuGet пакет(ы) для Debug и Release конфигураций в проекте - как?
От: Mazenrab Россия http://www.electrica.ru
Дата: 24.10.16 15:26
Оценка:
Всем привет!

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

Решение думалось в том чтобы сделать два пакета — Debug и Release.
Первая наивная идея была также прописать condition после установки пакета. Но, идея быстро разбилась о суровую реальность — при адейте пакета кондишены затираются нафиг.
Вторая идея была похитрее — при установке пакета писать в xml атрибут c кондишеном. Но и тут ждал удар по печени. После установки пакета *.csproj не меняется! Меняется только в момент билда.
Третьей идеи пока что не возникло

Соответственно если кто сталкивался с похожими задачами поделитесь плз опытом.
nuget конфигураци пакеты
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.