Директивы препроцессора C# на основе профиля веб-публикации

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

#if (DEBUG) не работает, потому что я предпочитаю, чтобы оба были опубликованы в режиме RELEASE.

Есть ли способ установить директиву препроцессора, в зависимости от того, какой профиль веб-публикации используется?

2 ответа

Решение

Самый простой способ сделать это - создать отдельные конфигурации для каждой среды, в которой вы хотите публиковать данные. Вы можете клонировать свои новые конфигурации сборки из Release. Затем в настройках проекта введите имя вашей конфигурации сборки в поле Условные символы компиляции.

Так, например, у нас есть конфигурация сборки Stage, которая идентична Release, за исключением того, что она определяет константу компилятора STAGE. Затем в коде вы можете использовать проверки #if (STAGE).

Если вам, как и мне, интересно, куда MS переместила все, на VS2022, вот оно:

Другие вопросы по тегам