Мы должны определить символ условной компиляции в проекте библиотеки классов. Это не должно быть проверено в управлении исходным кодом (оно не относится ко всем разработчикам), таким образом, оно должно быть определено в где-нибудь кроме .csproj или app.config файла. Как это может быть достигнуто?
Я бы определил ваши различные типы сборки в диспетчере конфигурации (меню Сборка → Диспетчер конфигурации ) и установил каждую из необходимых констант для каждого типов сборки.
Затем вы можете попросить каждого члена команды просто выбрать тип сборки, который он хочет выполнить, и он автоматически будет использовать соответствующие константы. (Я думаю, что самый последний использованный тип сборки хранится в файле .suo, который представляет собой «параметры пользователя решения», и вы обычно не проверяете исходный элемент управления, поэтому он будет поддерживаться специально для каждого пользователя).
Вы можете определить константы препроцессора в командной строке компилятора C # с помощью переключателя / define , но у вас возникнет проблема, как это вызвать. Любые изменения, которые вы вносите в свойства проекта, чтобы использовать его, будут сохранены в файле .csproj. Вместо этого вам придется строить все из командной строки, что, я уверен, вам не нужно. Вы также можете определить их в сценариях MSBuild, но у вас будет та же проблема.