Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Ссылка на разные сборки в разных конфигурациях

Автор вопроса: Armen TsirunyanОтветов: 1

Прежде чем спросить, я прочитал это и это темы. Никакой помощи.

Я использую Visual Studio 2003 (это требует мой работодатель), но я думаю, что ответы на более поздние версии VS также могут быть полезны.

Итак, представьте, что у меня есть два проекта .Net: A - это библиотека классов и B - это приложение. В BI нажмите Добавить ссылку, перейдите на вкладку Проекты и выберите A. В этом сценарии отладочная версия B будет ссылаться на отладочную версию A, а версия выпуска B будет использовать релизную версию A. Теперь представьте, что вместо проекта AI просто две сборки - aD.dll и a.dll. У меня нет ни одного проекта, который бы их создавал. Я хочу, чтобы отладочная версия B ссылалась на aD.dll, а версия выпуска B ссылалась на a.dll
Вопрос 1: Как мне это сделать?

Когда я хочу сослаться на какую-то dll, я перехожу к добавить ссылку -> Обзор и просматриваю свою dll. Но мне нужно указать не полный, а относительный путь.
Вопрос 2: Как это сделать?

Это ЧП, заранее спасибо :)

visual-studioreference

Ответы

Ответ 1 · рейтинг 16 · Tim Robinson

Вы не можете сделать это через IDE, но вы можете сделать это, взломав файл .csproj вручную:

Если у вас уже есть ссылка, скажем, на a.dll:

<Reference Include="a">...</Reference>

... затем попробуйте выполнить пару условий следующим образом:

<Reference Condition="'$(Configuration)' == 'Release'" Include="a">...</Reference>
<Reference Condition="'$(Configuration)' == 'Debug'" Include="aD">...</Reference>

Изменить: Вот объяснение того, что можно поместить в элемент <Reference>: http://msdn.microsoft.com/en-us/library/bb629388.aspx

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы