none
Проблема директив препроцессора в новой VS2015 RRS feed

  • Вопрос

  • #if (A || C)
    #define B
    #elif (B || D)
    #define E
    #define B
    #endif
    
    using System;
    
    namespace ConsoleApplication1 {
      class Program {
        static void Main(string[] args) {
    #if B
          Console.WriteLine("AAAAA");
    #endif
        }
      }
    }
    

    (Это упрощенный код аналогичный тому, который используется в проекте. На этом коде легко увидеть эту проблему)

    В настройках проекта нет никаких дополнительных compilier symbols

    Столкнулся с проблемой в Vs2015. Исходя из текста программы и того, что в проекте ни указано никаких дополнительных условий ожидал, что ни одна директива не будет включена, но на Vs2015 почему-то директива B оказалась включена.

    Проверил код на Vs2012, получил результат, который ожидал(ни одна директива не включена)
    Скомпилировал используя csc.exe получил результат, который ожидал(ни одна директива не включена).

    Надеюсь проблема будет исправлена максимально быстро.

    10 августа 2015 г. 11:37

Ответы

Все ответы