В C # вы можете выполнять условную компиляцию с помощью макросов, аналогичных синтаксису C / C ++.Это позволило бы выполнить следующее:
#define MYMACRO
....
#if MYMACRO
//some C# code logic
#else
//some other C# code logic
Мне нужно определить некоторые макросы в специальном файле в проекте библиотеки C #, и мне нужно, чтобы эти макросы были видны внутри всей библиотеки после того, как они были определены. Проблема в том, что приведенный выше код работает только для одного файла.
Я знаю еще один способ обойти эту проблему - добавить макросы в команду сборки. Это позаботится об определении макросов для всей .dll
, и у меня будут проверки #if - #else
, работающие везде, где я хочу внутри библиотеки. Проблема с этим подходом заключается в том, что я хочу иметь возможность легко поддерживать макросы. Было бы идеально, если бы они были в файле внутри проекта. Я также хотел бы иметь несколько комментариев внутри, чтобы я знал, что делает каждый макрос. Это не применимо, если мне нужно передать макросы в качестве параметров сборки. Другая причина - возможность включать / выключать макрос, просто комментируя его и исследуя поведение.
Есть ли достойный способ выполнить мое требование? Я бы предпочел не иметь дело с какими-либо инструментами автоматизации сборки, такими как MSBuild
, NAnt
или что-то в этом роде, тем не менее, если другой способ невозможен, я был бы признателен за совет, который вы считаете лучший выбор.