Внутренние ссылки на Visual Studio не всегда работают - PullRequest
1 голос
/ 21 мая 2010

Я использую 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, то это идет не так ... Мне нужно это подтвердить, но я не уверен, что нужно сделать, чтобы исправить это в данный момент. :)

Ответы [ 2 ]

0 голосов
/ 21 мая 2010

Если у вас есть проект веб-сайта, вы уверены, что вы установили для него ссылки «проекта», а не «bin» - у вас могут возникнуть некоторые проблемы таким образом.

0 голосов
/ 21 мая 2010

Правильный ли порядок сборки? Я могу себе представить, если вы создадите один проект, который ссылается на другой, и этот проект еще не создан, у вас могут возникнуть такие проблемы.

Ссылка: http://msdn.microsoft.com/en-us/library/5tdasz7h%28v=VS.80%29.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...