2013-04-15 2 views
0

В Visual Studio 2008 у меня есть класс, который разделяется между двумя проектами в том же решении.Пропуск компиляции метода в зависимости от операционной системы или структуры

Я добавил несколько вызовов в класс «ImageConverter», который доступен на базе Full .Net, но недоступен на Compact Framework.

Он используется только в полном каркасном проекте, и это компилируется отлично. Но когда я компилирую проект Compact Framework, это явно ошибки, потому что этот класс недоступен.

Есть ли способ заставить компилятор пропустить метод, если его проект Compact Framework или WinCE Target.

ответ

2

Вы можете использовать условную компиляцию или директиву препроцессора, как

#if CE 
.... 
#else 
... 
#endif 

Вы можете определить набор активных директив в свойствах проекта, для каждой конфигурации сборки.

0

Я нашел решение проблемы.

В свойствах проекта на вкладке «Сборка» есть «Условные символы компиляции». Добавьте здесь символ. WindowsCE

Внутри вашего кода теперь вы можете использовать #if #endif для группировки частей кода, которые нужно пропустить.

Пример.

#if !WindowsCE 

    // Some WindowsCE unsupported code here. 

#endif 

Компилятор теперь пропустит этот раздел.

Смежные вопросы