Исключить целые файлы на основе конфигурации из сборки в VS2008

У меня есть три разных конфигурации в моем проекте, все три не требуют встраивания всех файлов в приложение. На самом деле я бы предпочел, чтобы я мог исключить эти файлы из сборки, что сделало бы мое приложение немного более легким.

Я ищу оператор #if MYCONFIG или #if DEBUG, но для файлов. Я уже читал, что это можно сделать, вручную отредактировав файл csproj, но я больше не могу этого найти... и есть ли другие способы?


person Bobby    schedule 03.03.2010    source источник


Ответы (1)


Есть два разных способа: В ваших файлах csproj у вас будут разделы, которые выглядят следующим образом:

<ItemGroup>
    <Compile Include="Helper.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>

Что вы можете сделать, так это настроить новую конфигурацию проекта (меню Сборка, Диспетчер конфигурации, выберите Создать в Активной конфигурации решения<). /em>), затем вручную измените узел ItemGroup на это:

<ItemGroup Condition=" '$(Configuration)' == 'MyNewConfiguration' ">
    <Compile Include="Helper.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>

Второй способ, как вы упомянули в своем вопросе, заключается в использовании условных символов отладки. В верхней части вашего файла есть заявление

#if MYDEBUGSYMBOL

а внизу есть

#endif

затем вы можете определить символы отладки; Щелкните правой кнопкой мыши файл проекта, выберите Свойства, перейдите на вкладку Сборка и введите символ отладки в текстовое поле Символы условной компиляции.

Я бы, наверное, остановился на первом способе.

person slugster    schedule 03.03.2010
comment
Возможно ли это также со старыми файлами проекта VS2008 для проектов C? - person Christian; 15.05.2014