Пожалуйста, учитывайте следующую ситуацию: У меня есть файл C++, и мы называем этот код C++ кодом C#. В файле C++, есть флагКак я могу использовать разные файлы C++ в тестовом и производственном коде?
#define HasFeature
Я хотел бы этот флаг, чтобы быть неопределенным в коде производства, и только в моем тестовом коде я хочу, чтобы активировать их. После завершения теста я хочу, чтобы он снова не был определен.
Я знаю, что это функция времени компиляции, и ее редактирование во время выполнения будет невозможно. Я не могу преобразовать #define в нечто вроде члена класса из-за другой причины.
Одна вещь, которую я могу придумать для добавления двух файлов, в одном из них указан флаг, а один из них - неопределенный, а в test.proj используется файл с указанным флагом, а production.proj использует файл с флаг не определен. Это возможно в Visual Studio? Если да, то как я могу это сделать? (Может быть, использовать некоторые функции в csproj и т. Д.?)
Спасибо, заранее.
Если макрос является единственным вариантом (это не так), вы должны создать несколько сборок проекта. Добавьте новую конфигурацию за пределы встроенных конфигураций Debug и Release, таких как «ReleaseProduction». Развертывание правильного вкуса исполняемого файла зависит от вас. –
Что такое другие варианты макроса? –