Почему чистое решение для сборки .Net 2.0 вызывает ошибки? - PullRequest
2 голосов
/ 28 марта 2009

У меня есть решение .net, которое создает DLL. Это состояло из двух проектов. (Дополнительная информация: один содержит ряд моих специальных функций / классов и т. Д., Написанных на VB.Net. Второй - некоторые функции / классы и т. Д., Специфичные для клиента и использующие мои классы). Работу я могу построить и перестроить решение без проблем. Нет ошибок, предупреждений и т. Д.

Я проверяю зависимости проекта, и они верны. Например. мой код не зависит от кода клиента, но код клиента зависит от моего кода. Порядок сборки: мой код, затем код клиента. Это все выглядит хорошо для меня.

Теперь, чтобы быть уверенным, что все в порядке, я делаю Build> Clean Solution. В результате возникают следующие проблемы: 1 предупреждение (Ссылочный компонент ADODB не найден) 6 Ошибки (все ошибки в моем коде, и они сосредоточены вокруг ссылки ADODB)

Я вижу, что ссылка ADODB в моем коде имеет значок предупреждения. Однако я обнаружил, что если дважды щелкнуть значок (в обозревателе решений), отобразится браузер объектов и предупреждение исчезнет.

Если я сейчас сделаю два перестроения, ошибки исчезнут, и все будет счастливым.

Итоговые вопросы:

  1. Почему сборка чистого решения вызывает эти предупреждения и проблемы?
  2. Что я могу сделать, чтобы эти проблемы перестали происходить

Ответы [ 2 ]

1 голос
/ 28 марта 2009

(отредактировано, чтобы попытаться учесть 2 вопроса, которые вы на самом деле задавали)

У меня произошел желтый значок предупреждения, указывающий на конкретную версию стороннего элемента управления. Я ссылался на одну версию, затем заменил DLL новой и получил значок предупреждения. Изменение свойства «Конкретная версия» ссылки на «Ложь» избавило от проблемы (как если бы оно оставалось «Истина» и изменилось число версий, на которые ссылаются)

  1. Чистая сборка, возможно, удаляет сохраненную конфигурацию, которая может включать в себя игнорирование предупреждения об ADODB.

  2. Возможно, вы ссылаетесь на конкретную версию ADODB и должны изменить ее, чтобы игнорировать номер версии или обновить номер версии.

0 голосов
/ 28 марта 2009

Обычно я стараюсь избегать использования COM-объектов в проектах .NET. Возможно, вы нашли одну из причин моего предпочтения. ; -)

Оба проекта ссылаются на ADODB? Они оба ссылаются на одну и ту же версию объекта?

...