У меня есть довольно сложное решение, содержащее 10 проектов помимо тестовых проектов.Это сеть распределенных приложений и сервисов, которые взаимодействуют с использованием удаленного взаимодействия;поэтому наличие соответствующих сборок (и версий) имеет решающее значение.Вот почему я хочу, чтобы все это было скомпилировано и упаковано в одну сборку.
Одно из приложений - это инструмент для демонстрации / анализа, который запускает подпроцесс другого, гораздо более крупного, приложения, основанного на пользователях.ввод и отображение результатов;Таким образом, у инженеров есть инструмент, который поможет настроить их для «больших вычислений».Очевидно, что подпроцесс содержится в другой сборке, и большую часть результатов, представленных инженерам, генерирует
#if ENABLE_TRACE_MATCHING
Trace.WriteLine("Some engineering output");
#endif
Моя проблема заключается в том, что условные символы компиляции в настройках проекта ограничены сборкой этого проекта,и не распространяться по ссылочным собраниям.Как я могу настроить свою сборку таким образом, чтобы все проекты были построены без определения ENABLE_TRACE_MATCHING, за исключением одного проекта приложения отладки / анализа, где все указанные проекты / сборки должны быть скомпилированы с ENABLE_TRACE_MATCHING будучи определенным
Я также не могу заменить #if ENABLE_TRACE_MATCHING на #if DEBUG, поскольку это позволило бы получить много разных выходных данных, которые наши инженеры не знали бы, как обрабатывать.
Заранее спасибо.
PS: Если вы думаете, что мой код пахнет, то я согласен.Дополнительно: это в основном не мой код;)