VS2008 "должен реализовать" фальшивые ошибки? - PullRequest
1 голос
/ 07 октября 2010

У меня есть решение VS 2008 VB.NET, которое довольно большое. Время от времени, если я беру последний код из системы контроля версий, я получаю сотни ошибок. Это не настоящие ошибки. Они все о классах, не реализующих функции / события из интерфейсов (которые они действительно реализуют).

"Класс [имя класса] должен реализовывать [имя события или функции] для интерфейса [имя интерфейса]"

Обычно я трачу пару часов на комбинацию: построение / перестройка проекта решения по проекту, очистка решения, удаление всего локально, получение последней ... и т. Д. В какой-то момент все просто волшебным образом строится. У кого-нибудь есть идеи, что вызывает это? Другие люди в моей команде тоже испытывают это. Я не вижу никаких циркулярных ссылок.

Ответы [ 2 ]

3 голосов
/ 07 октября 2010

Да, я был там.

Корень проблемы в том, что некоторые проекты пытаются построить, и они зависят от DLL, которые генерируют другие проекты.

Вы можетеРешите это путем изменения порядка сборки ваших проектов .

После того, как вы это сделаете, все должно работать нормально с первой попытки сборки после проверки.

0 голосов
/ 07 октября 2010

Я тоже это видел.

Я думаю, что это связано с некоторыми из метаданных / файлов, которые Visual Studio поддерживает. Моя теория состоит в том, что VS не обновляет свои внутренние данные, когда вы выполняете последнее извлечение из системы контроля версий.Таким образом, он пытается выполнить сборку, думает, что некоторые файлы не были «обновлены» (таким образом, вместо него используется старый промежуточный объектный файл, который используется вместо него), он запутывается и терпит неудачу.

Обычно делает комбинациюBuild-> Clean Solution, Build-> Build Solution решает его большую часть времени.Мне дважды пришлось сдуть весь каталог сборки, вытащить свежую копию из системы контроля версий (Clearcase) и сделать новую сборку.

Редактировать: У меня Clearcase, интегрированный с VS2008и делаю мои заказы / проверки / историю версий из VS2008.Не уверен, что использование автономного инструмента для Windows решит эту проблему, и у него нет времени на тестирование (не говоря уже о том, что невозможно воспроизвести ошибку постоянно)

Edit2: Когда я говорюдважды, я имею в виду дважды за последние 12 месяцев или около того.

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