2010-03-01 10 views
12

Przepraszam, jeśli moja terminologia jest błędna. Napisałem #if TEST_APP w moim kodzie. Teraz chciałbym zdefiniować TEST_APP. Jak ustawić go za pomocą studia wizualnego 2010? To jest aplikacja do obsługi okien.Jak zdefiniować symbole preprocesora w studiach wizualnych C#

Bonus czy możesz mi powiedzieć nazwę symbolu, który jest ustawiony w projekcie winform w projekcie internetowej

Odpowiedz

16

W eksploratorze rozwiązań Visual Studio kliknij prawym przyciskiem myszy projekt i kliknij Właściwości. Otwórz kartę kompilacji, a zobaczysz pole "Warunkowe symbole kompilacji". Jest to lista oddzielona przecinkami lub oddzielona spacją. Istnieją również 2 pola wyboru dla często używanych symboli, DEBUG i TRACE.

dla swoich projektów internetowych można ustawić pole do "WEB_PROJECT" i winforms do "WINFORMS_PROJECT"

+1

Możesz także ustawić te rzeczy bezpośrednio w pliku projektu (* .csproj), na przykład ' DEBUG; TRACE' wewnątrz grupy PropertyGroup. – Jeyenne

7

Na karcie Konstruowanie stronie właściwości dla projektu, poszukaj „warunkowego symboli kompilacji "ustawienie.

Nie sądzę, że istnieją różne symbole domyślnie zdefiniowane dla aplikacji internetowych i winform. Pamiętaj, że jest to ustawione dla samego projektu i nie ma wpływu na biblioteki klas - więc oczekiwałbym, że jakikolwiek kod w projekcie naprawdę będzie wiedział, czy jest to aplikacja Windows, czy nie. Co myślałeś o użyciu tego?

+0

po napisaniu APP_TEST -dAPP_TEST (myślę gcc) i ich zawieść i po obejrzeniu tych odpowiedzi zdałem sobie sprawę, że mam odniesienie do mojej biblioteki internetowej zamiast dołączania moich plików. oops. To było, gdy próbowałem uzyskać F # i C#, aby zdefiniować metody w tej samej klasie częściowej. –

+0

Nie potrzebuję aplikacji i definicji strony, po prostu zastanawiałem się, ponieważ wiem, że C++ to robi. Testuję jakiś kod backendu w aplikacji, dzięki czemu mogę go modyfikować w locie, czego nie mogę zrobić w aplikacji internetowej (Zmiany nie są dozwolone w następującym przypadku: Debugger dołączony do już działającego procesu) –

+0

Użyliśmy tego w aplikacji internetowej włączyć buforowanie w debugowaniu. W opcji Zwolnienie logiki buforowania zostało włączone, w debugowaniu wyłączona, ale czasami chcesz przetestować logikę buforowania (w debugowaniu). Do tego jest dodatkowy warunkowy jest przydatny. (DEBUG | DEBUG_WITH_CACHE) – bob

0

Metoda 1:

#define TEST_APP true 
#if TEST_APP == true 
#endif 

Metoda 2:

#define TEST_APP 
#if defined(TEST_APP) 
#endif 

Źródło: MSDN

0

Jeśli potrzebujesz kompilacji warunkowej do dynamicznego refl ect warunki kompilacji lub środowiska, sprawdź moją odpowiedź na How do I set a conditional compile variable na StackOverflow. Pokażę, jak włączyć kompilację warunkową w zależności od warunków otoczenia, takich jak języka C# w wersji, tak że można napisać kod jak poniżej:

#if CSHARP7 
    ref T pi = ref rg[i], pj = ref rg[j]; 
    var t = pi;     // swap elements: managed pointers 
    pi = pj; 
    pj = t; 
#else 
    var t = rg[i];     // swap elements: clunky 
    rg[i] = rg[j]; 
    rg[j] = t; 
#endif 
Powiązane problemy