2011-02-01 1 views
1

У меня есть Visual Studio 2010 (Pro) решение с двумя проектами в нем, которые включают в себя тот же файл. Большая часть файла загорожен:Visual Studio 2010 C#, используя определения из неправильного проекта, чтобы выделить код

#if MY_DEFINE 
a bunch of code here.. 
#endif 

Один из проектов определяет MY_DEFINE, а другой нет.

Visual Studio, похоже, случайно выбирает значение MY_DEFINE для Intellisense. Иногда код внутри этого блока #if отображается с соответствующим подсветкой синтаксиса, а иногда и нет. Кажется, не имеет значения, какой проект я назвал стартовым проектом в обозревателе решений.

Это настоящая проблема, потому что я даже не могу установить контрольные точки внутри #if, , даже если я запускаю проект с MY_DEFINE в отладчике.

Кто-нибудь знает, как Visual Studio выбирает, какой проект должен использовать для Intellisense (и для того, чтобы вы могли установить контрольные точки)?

+0

Что вы имеете в виду, два проекта, включая один и тот же файл? Есть ли две копии файла, или вы используете ссылку на файл? –

+0

Да, есть два проекта, связанных с одним и тем же файлом .cs. – Mike

ответ

0

Он должен использовать определения из проекта, который запускается. Поэтому, если у вас есть несколько «runnable» (небиблиотечных) проектов, я полагаю, что они будут использовать определения от запуска. Разве это не то, что вы испытываете?

+0

Правильно, я не вижу его, используя определения из запуска проекта. Кажется почти случайным, что определяет его выбор. – Mike

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