Условный контент на основе конфигурации
Я несколько раз пытался использовать подобную технику, как "условные ссылки" для условного контента.
Записи контента в файле проекта Visual Studio, такие как "web.config", я не хочу включить, когда я публикую веб-сайт.
Я пробовал несколько вещей вроде...
<Choose>
<When Condition="$(Configuration) != 'Release'">
<ItemGroup>
<Content Include="web.config">
<SubType>Designer</SubType>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
</When>
<Otherwise>
<ItemGroup>
</ItemGroup>
</Otherwise>
</Choose>
Но это не работает. Есть идеи? Или вы столкнулись с этим раньше и решили?
Ответы
Ответ 1
Я считаю, что вы можете просто добавить условие в ItemGroup... Пример:
<ItemGroup Condition="'$(Configuration)' != 'Release'">
<Content Include="web.config">
<SubType>Designer</SubType>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
Обратите внимание на отметки вокруг '$ (Конфигурация)' в условии. Это очень необходимо.
Ответ 2
Я хотел бы продлить ответ, предоставленный Ником Нислаником, с некоторыми деталями, чтобы другие не были тупыми, как и я.
Решение работает во время сборки/публикации, но интерфейс Visual Studio 2010 может не отражать внесенные изменения. Является ли это дефектом или нет, я не уверен, но это меня смутило, и это может смутить других.