Visual Studio 2010 условные ссылки
У нас есть несколько продуктов с общими библиотеками. Эти библиотеки являются частью отдельного решения (поэтому они могут быть собраны TFS независимо друг от друга), но проблема заключается в разработке, нужно изменить общую библиотеку, скомпилировать ее в двоичную, скопировать в общую папку, скомпилировать решение продукта,
Во избежание этого на самом деле мне интересно, возможно ли иметь условные ссылки, поэтому для конфигурации отладки я бы ссылался на них как на ссылки проекта, тогда как в конфигурации выпуска они были бы двоичными ссылками.
2 ответа
Вы должны быть в состоянии сделать это с помощью условных конструкций, отредактировав файл проекта напрямую (VS IDE не сделает этого за вас).
Например, вы можете сделать что-то подобное, используя элемент "Выбрать":
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<PropertyGroup>
<!-- ... -->
</PropertyGroup>
<Choose>
<When Condition=" '$(Configuration)'=='Debug' ">
<ItemGroup>
<ProjectReference Include="..\stuff\MyStuff.csproj">
<Project>{4c7bbe47-8d84-45d4-95f0-f640ba59563c}</Project>
<Name>MyStuff</Name>
</ProjectReference>
</ItemGroup>
</When>
<When Condition=" '$(Configuration)'=='Retail' ">
<ItemGroup>
<Reference Include="MyStuff.dll" />
</ItemGroup>
</When>
</Choose>
<!-- Rest of Project -->
</Project>
MSDN имеет больше информации об использовании условных конструкций.
Возможно, вы захотите взглянуть на NuGet:
NuGet - это бесплатная система управления пакетами, ориентированная на разработчиков с открытым исходным кодом, для платформы.NET, предназначенная для упрощения процесса включения сторонних библиотек в приложение.NET во время разработки.
(где вы были бы третьим лицом сами в этом случае)
Примечание. Это не даст вам условных ссылок, но упростит обновление общих компонентов.