Я не знаю много об архитектуре appsettings (я никогда не использовал ее), но вы можете определить различные значения для констант, используя немного магии MSBuild.
Создайте два файла .cs, Constants1.cs и Constants2.cs (или назовите их после ваших настроек).
В каждом файле определите класс с именем Constants (или любым другим), но делайте это так, как если бы каждый файл был единственным определением (т. Е. Используйте одно и то же имя класса). Как правило, это должно просто определить поля public static readonly
- не делать , а использовать const
, так как это может привести к проблемам с частичной сборкой.
Теперь выгрузите файл проекта и отредактируйте его. Найдите записи, которые выглядят так:
<Compile Include="Constants1.cs" />
<Compile Include="Constants2.cs" />
и измените их следующим образом:
<Compile Include="Constants1.cs" Condition="'$(Configuration)'=='Debug'" />
<Compile Include="Constants2.cs" Condition="'$(Configuration)'=='Release'" />
Наконец сохраните и перезагрузите ваш проект. Теперь только один из файлов будет фактически собран за один раз, в зависимости от конфигурации вашей сборки.