C # / VS2008: добавить отдельные ссылки на отладку / выпуск в проект - PullRequest
33 голосов
/ 29 марта 2009

При добавлении пользовательского элемента управления или ссылки на проект в проект VS 2008 C # я могу добавить только одну конфигурацию сборки. Можно ли добавлять отдельные конфигурации в зависимости от конфигурации проекта контейнера.

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

Есть предложения?

Ответы [ 4 ]

31 голосов
/ 15 февраля 2011
<Reference Include="MyLibrary">
  <HintPath>..\$(Configuration)\MyLibrary.dll</HintPath>
</Reference>

Это добавляет ссылку ".. \ Debug \ MyLibrary.dll", если она скомпилирована в режиме отладки, или .. \ Release \ MyLibrary.dll ", если она скомпилирована в режиме выпуска.

25 голосов
/ 29 марта 2009

Вы можете сделать это, отредактировав файл csproj; добавить атрибут «Условие» в ссылку.

<Reference Include="Foo" Condition="'$(Configuration)'=='Debug'"/>
<Reference Include="Bar" Condition="'$(Configuration)'=='Release'"/>

Тем не менее, меня беспокоит, что это значит для модульного тестирования.

5 голосов
/ 30 марта 2009

Хотя предложение @Marc Gravell сработает, есть ли причина, по которой вам не нужны оба проекта в одном решении? Если они находятся в одном и том же решении, вы можете добавить ссылку на проект при ссылке на проект пользовательского элемента управления в проекте примера приложения. При использовании ссылки на проект Visual Studio автоматически добавляет версию отладки для сборки отладки и версию выпуска для сборки выпуска.

0 голосов
/ 26 апреля 2019

Вместо добавления ссылки на .dll напрямую, что заставляет вас выбирать между .dll из папки отладки или выпуска, вы должны добавить ссылку, выбрав «Ссылка на проект». Эта ссылка объясняет, как добавить ссылку через .dll против ссылки проекта-проекта. Для вашей цели вы должны выбрать последний.

Также обратитесь к моему ответу , чтобы узнать, когда добавить ссылку как .dll против ссылки в качестве проекта.

...