Visual Studio - создание разных выпусков для сборок с одинаковым именем - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть плагин для стороннего программного обеспечения, и я ссылаюсь на его сборку - назовем его Api.dll.

Каждый год Api.dll обновляется. Я бы хотел поддержать версии прошлых лет.

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

Как мне лучше автоматизировать этот процесс сборки, чтобы я мог собрать все версии, которые мне нужны одновременно, указывая на соответствующую версию с одноименным названием .dll?

1 Ответ

0 голосов
/ 14 сентября 2018

Я бы сделал это с конфигурациями сборки.Если вы создаете конфигурацию для каждой версии, вы можете отредактировать файл csproj следующим образом:

<Reference Include="v1/Api.dll" Condition="'$(Configuration)'=='Release Api v1'" />
<Reference Include="v2/Api.dll" Condition="'$(Configuration)'=='Release Api v2'" />
<Reference Include="v3/Api.dll" Condition="'$(Configuration)'=='Release Api v3'" />

В результате этого будет изменена библиотека, на которую ссылаются, в зависимости от конфигурации.

Кроме того,если вам нужен конкретный код для каждой версии, вы можете добавить несколько символов компиляции для каждой конфигурации и использовать #if ...

...