Тип определен в сборке, на которую нет ссылок

Я только начал включать несколько проектов из решения партнерского офиса в наше решение. Программа представляет собой winform-приложение C#.

Программа скомпилировалась, и все прошло нормально, но вчера я снова пошел на сборку и из ниоткуда выдало ошибку "Тип 'Namespace.MainFrameDisplay' определен в сборке, на которую нет ссылок. Вы должны добавить ссылка на сборку OtherAssembly, Version=1.7.0.0, Culture=neutral, PublicKeyToken=52af1880d3cd7291" (насколько я могу судить, OtherAssembly не используется в качестве ссылки в исходном проекте. Существуют проблемы совместимости между Assembly и OtherAssembly, добавление OtherAssembly дает около 100 ошибок.)

А также связанная ошибка "Невозможно неявно преобразовать тип "Namespace.MainFrameDisplay" в "Namespace.MainFrameDisplay" [c:\Dev\program\bin\debug\Assembly.dll]

Фрагмент псевдокода ошибки:

private MainFrameDisplay _MainFrame;  //definition
_MainFrame = this.Mainframe;  // error is thrown here
_MainFrame.Parent.Controls.Add(_NotifyBar);

Если я удалю определение, ошибка останется.
Если я удалю строку, в которой возникает ошибка, компиляция будет выполнена нормально. Даже при вызове _MainFrame.Parent.

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


person RJB    schedule 26.09.2012    source источник


Ответы (1)


Ну... Конечно, я понял это сразу после публикации.

( -_- )

Так что давайте назовем это советом для потомков.

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

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

person RJB    schedule 26.09.2012