У меня два проекта на одном решении; скажем, Project1 и Project2. Project1 включает только абстрактные классы и их реализации, и он добавлен как ссылка на Project2. Одна из функций, Connect () в Class1 в Project1, определяется следующим образом;
public bool Connect() { ...TCP connection code }
В Project2 функция Connect объекта Object1 вызывается как;
if (carlValentin.Connect() != false) {...}
Visual Studio 2010 используется в качестве IDE.
Здесь возникает странность. Когда я выбираю Debug в качестве конфигурации, все идет нормально, компиляция завершена и приложение запускается. Однако, когда я переключаю конфигурацию на Release, я получаю следующую ошибку типа возвращаемого значения: Operator != cannot be applied to the operands of type void and bool
.
Project1 не включает никаких других перегруженных методов для функции Connect. Как уже упоминалось, Project2 зависит от Project1. Я подозреваю, что это проблема с внесенными мной изменениями, поскольку предыдущее определение Connect имело недействительный тип возвращаемого значения. Но я почти уверен, что порядок сборки проекта настроен так, что сначала компилируется Project1, а затем создается Project2.
#if DEBUG
, ни[Conditional("DEBUG")]
? (или действительно то же самое сRELEASE
, а неDEBUG
) - person Marc Gravell   schedule 21.08.2013