Я использую Visual Studio и решение с 10 или около того проектами (в основном VB, некоторые C #), которые имеют различные зависимости. Обычно, когда я компилирую решение, оно работает нормально. Иногда, когда я делаю это, я получаю сообщение об ошибке сборки, в котором говорится, что один из проектов, на которые ссылаются, является неправильной версией (я думаю, что всегда один и тот же, возможно два могут вызвать проблемы). В этом случае, перейдя в обозреватель решений и щелкнув правой кнопкой мыши на упомянутом проекте и сказав «rebuild», а затем еще одну полную сборку, он работает нормально.
Я предполагаю, что где-то что-то настроено неправильно, но я изначально не настраивал решение, и быстрый просмотр не показывает ничего сразу неправильно.
Такое ощущение, что есть какое-то условие гонки, что VS внутренне устанавливает номер версии проекта, который ему нужен, до того, как этот проект был перестроен, и, таким образом, получает его неправильно или что-то в этом роде, но я уверен, что VS должен справиться все эти вещи правильно.
Кто-нибудь может предложить, пожалуйста, места, которые я мог бы проверить, правильно ли это было установлено ...
И, наконец, я должен отметить, что, поскольку у меня нет надежного подтверждения этого, я не смогу отвечать на вопросы слишком быстро. Например, очевидное из «Не могли бы вы дать точное сообщение об ошибке» придется подождать, так как я не думал копировать его сегодня утром, это было только после того, как я разобрался с вышеуказанными шагами, которые я решил опубликовать здесь. Аналогичным образом для подтверждения любого решения может потребоваться некоторое время.
Изменить, чтобы добавить сообщение об ошибке:
Косвенная ссылка делается на сборку ODP версии 1.0.3792.16586, которая содержит '{{CLASSNAME}}'. Этот проект ссылается на предыдущую версию ODP версии 1.0.3791.18659. Чтобы использовать '{{CLASSNAME}}', необходимо заменить ссылку на ODP версией 1.0.3792.16586 или выше.
Изменить для более очевидных важных деталей
Поскольку он был куплен, поясню, что один из проектов - это веб-проект, и именно он генерирует указанное выше сообщение об ошибке.
Дальнейшее редактирование
Посмотрев дальше, в папке bin моего веб-проекта есть копия ODP.dll. Используя проводник Windows и правый клик, запрашивая свойства и просматривая версию, это версия 1.0.3791.18659. Удалив это (фактически переместив его в другое место) при выполнении сборки, он воссоздал этот файл с тем же номером версии (то есть со старым номером версии).
ODP также претендует на звание проекта, что заставляет меня думать, что оно должно работать ...: (
Далее Дальнейшее редактирование
Теперь я думаю, что проблема в том, что, если проект ODP изменяется, он перестраивается, но не обязательно, что все проекты, которые зависят от него, перестраиваются. Таким образом, один проект все еще может быть построен против старой версии, а другой - против новой версии. Если они затем пытаются общаться между каждым otehr с объектами из ODP, то это идет не так ... Мне нужно это подтвердить, но я не уверен, что нужно сделать, чтобы исправить это в данный момент. :)