Условный контент на основе конфигурации - PullRequest
13 голосов
/ 14 ноября 2011

Я несколько раз пытался использовать аналогичную технику в качестве «условных ссылок» для условного содержимого.

Записи содержимого в файле проекта 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>

Но это не работает. Есть идеи? Или вы уже сталкивались с этим и решили?

Ответы [ 2 ]

21 голосов
/ 14 ноября 2011

Я полагаю, что вы можете просто добавить Условие в ItemGroup ... Пример:

    <ItemGroup Condition="'$(Configuration)' != 'Release'"> 
        <Content Include="web.config"> 
            <SubType>Designer</SubType> 
            <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
             </Content> 
    </ItemGroup> 

Обратите внимание на пометку '$ (Configuration)' в условии.Это очень необходимо.

2 голосов
/ 15 ноября 2011

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

Решение работает во время сборки / публикации, но интерфейс Visual Studio 2010может не отражать сделанные изменения.Является ли это дефектом или нет, я не уверен, но это смутило меня и может смущать других.

...