Мне нужно включить определенные исходные файлы только в том случае, если мой проект находится в определенных конфигурациях пули. Это возможно?Условно пропускать компиляцию исходных файлов C#
Я в настоящее время дублировал Debug
и Release
и создал DebugAlt
и ReleaseAlt
. Мне нужно скомпилировать определенные формы только в Debug и Release и исключить их в альтернативных конфигурациях.
Могу ли я написать что-то подобное в файле .csproj
?
<Compile Include="frmTools.cs" Condition="CONFIG=Debug OR Config=Release"/>
Update:
Согласно MS Build docs этого должно быть возможно что-то вроде этого:
<Choose>
<When Condition="'$(Configuration)'=='Debug'">
<ItemGroup>
<Compile Include="frmTools.cs">
<SubType>Form</SubType>
</Compile>
</ItemGroup>
</When>
</Choose>
Это работает halfways; Проект загружается отлично, но frmTools
НИКОГДА не компилируется. Это потому, что условие When всегда оценивается как false. Зачем? Что я сделал не так?
В чем именно смысл этого? Вы не платите за код, который ваша программа не использует. –