I've tried several times to use a similar technique as "conditional references" for conditional content.
Content entries in the Visual Studio Project file such as "web.config" I do not want included when I publish the website.
I've tried a few things like...
<Choose>
<When Condition="$(Configuration) != 'Release'">
<ItemGroup>
<Content Include="web.config">
<SubType>Designer</SubType>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
</When>
<Otherwise>
<ItemGroup>
</ItemGroup>
</Otherwise>
</Choose>
But this doesn't work. Any ideas? Or have you encountered this before and solved it?
I believe you can just add the Condition to the ItemGroup... Example:
<ItemGroup Condition="'$(Configuration)' != 'Release'">
<Content Include="web.config">
<SubType>Designer</SubType>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
Note the ticks around '$(Configuration)' in the condition. Those are very necessary.
I would like to extend the answer provided by Nick Nieslanik with some details just so others aren't stumped in the same way I was.
The solution works during build/publish, but Visual Studio 2010's interface may not reflect the changes made. Whether this is a defect or not, I am not sure, but it did confuse me and it may confuse others.
来源:https://stackoverflow.com/questions/8115696/conditional-content-based-upon-configuration