테스트 프로젝트를 제외하고 10 개의 프로젝트가 포함 된 매우 복잡한 솔루션이 있습니다. 리모컨을 사용하여 통신하는 분산 응용 프로그램 네트워크 &입니다. 따라서 적절한 참조 어셈블리 (& 버전)를 갖는 것이 중요합니다. 그래서 모든 것을 하나의 빌드로 컴파일하고 줄이기를 원합니다.전체 솔루션을 빌드하고 하나의 프로젝트에만 전역 조건부 컴파일 기호 추가
응용 프로그램 중 하나는 다른 사용자의 입력을 기반으로 한 훨씬 더 큰 응용 프로그램의 하위 프로세스를 실행하고 결과를 표시하는 데모/분석 도구입니다. 그렇게하면 엔지니어는 "큰 계산"에 대한 설정을 조정할 수있는 도구를 갖게됩니다. 분명히 그 서브 프로세스는 프로젝트 설정에서 조건부 컴파일 기호는 해당 프로젝트의 어셈블리에 한정 할 것을 또 다른 어셈블리에 포함되며, 엔지니어에게 제시 테 결과의 큰 부분은
#if ENABLE_TRACE_MATCHING
Trace.WriteLine("Some engineering output");
#endif
내 문제에 의해 생성되는 참조 된 어셈블리에 전파되지 않습니다. 어떻게 참조 된 모든 프로젝트가/어셈블리이
정의되는 ENABLE_TRACE_MATCHING 컴파일해야 하나 디버그/분석 - 응용 프로그램 프로젝트를 제외한 모든 프로젝트가 ENABLE_TRACE_MATCHING 정의하지 않고 을 구축 할 것 같은 방법으로 내 빌드를 구성 할 수 있습니다또한 #if DEBUG로 #if ENABLE_TRACE_MATCHING을 (를) 대체 할 수 없습니다. 그러면 엔지니어가 처리 방법을 알지 못해서 많은 출력을 낼 수 있기 때문입니다.
미리 감사드립니다.
추신 : 내 코드가 냄새라고 생각하면 동의합니다. 또한 : 대부분 내 코드가 아닙니다.)
나는 얘기를 깜빡 했네요 – user588939