Подтвердить что ты не робот

С#/VS2008: добавьте отдельные ссылки для отладки/выпуска для проекта

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

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

Любые предложения?

4b9b3361

Ответ 1

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

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

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

Ответ 2

<Reference Include="MyLibrary">
  <HintPath>..\$(Configuration)\MyLibrary.dll</HintPath>
</Reference>

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

Ответ 3

В то время как предложение @Marc Gravell будет работать, есть ли причина, по которой вы не хотите, чтобы оба проекта были в одном решении? Если они находятся в одном и том же решении, вы можете добавить ссылку на проект, ссылаясь на проект User Control на проект приложения-образца. Когда используется ссылка на проект, Visual Studio автоматически добавит версию Debug для сборки Debug и версию Release для сборки Release.

Ответ 4

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

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