Mam dość złożone rozwiązanie, zawierające 10 projektów poza projektami testowymi. Jest to sieć aplikacji rozproszonych & usług, które komunikują się za pomocą zdalnego dostępu; w związku z tym posiadanie odpowiednich zestawów referencyjnych (&) jest kluczowe. Właśnie dlatego chcę, aby całość została skompilowana i schowana w JEDNEJ kompilacji.Zbuduj całe rozwiązanie, ale dodaj globalne symbole warunkowej kompilacji dla tylko jednego projektu.
Jedną z aplikacji jest narzędzie do analizy/analizy, które uruchamia podproces innego - znacznie większego - aplikacji opartej na danych wejściowych użytkownika i wyświetla wyniki; W ten sposób inżynierowie mają narzędzie, które pomaga poprawić ustawienia "wielkich obliczeń". Oczywiście, że podproces jest zawarty w innym zespole, a duża część TE wyników zaprezentowanych na inżynierów jest generowany przez
#if ENABLE_TRACE_MATCHING
Trace.WriteLine("Some engineering output");
#endif
Moim problemem jest to, że warunkowe Symbole kompilację w ustawieniach projektu są ograniczone do montażu tego projektu, a zrobić nie propagować w stosunku do zwoływanych zespołów. Jak mogę skonfigurować mój zbudowany w taki sposób, że wszystkie projekty będą zbudowany bez ENABLE_TRACE_MATCHING jest określony, z wyjątkiem jednego debugowania/analiza-app projektu, gdzie wszystkie użyte projekty/zespoły muszą zostać skompilowane z ENABLE_TRACE_MATCHING jest zdefiniowane
Nie mogę też zastąpić #if ENABLE_TRACE_MATCHING przez #if DEBUG, ponieważ umożliwiłoby to mnóstwo różnych wyników, o których nasi inżynierowie nie wiedzieliby, jak sobie z tym poradzić.
Z góry dziękuję.
PS: Jeśli uważasz, że mój kod śmierdzi, to się zgadzam. Dodatkowo: w większości nie jest to mój kod;)
zapomniałem wspomnieć: To wszystko jest C# i .NET 3.5 – user588939