Ссылки сборки .NET Ошибки времени компиляции - PullRequest
2 голосов
/ 06 ноября 2008

У меня есть сборка A с классом Z, которая наследуется от класса X в сборке B. Теперь в совершенно другом решении у меня есть сборка C, которая использует класс Z.

Компилятор жалуется, если сборка C не имеет ссылки на обе сборки A и B. Даже если сборка C в любом случае не использует класс Z напрямую.

Ожидается ли это?

Мне кажется, что если сборка B отсутствует во время выполнения, то материал взрывается, но во время компиляции это не должно волновать.

Что мне здесь не хватает?

Моя цель заключается в том, чтобы я мог сказать своим клиентам, что они должны зависеть от класса Z в сборке A, но я могу полностью перенастроить свои сборки на другой стороне и вообще не повлиять на клиента при обновлении.

Ответы [ 2 ]

6 голосов
/ 06 ноября 2008

Да, это ожидаемо.

Подумайте об этом - как сборка C может знать, что она может делать с Z, если она не знает, что такое базовый класс? Как он мог узнать о каких-либо публичных участниках, выставленных X?

0 голосов
/ 06 ноября 2008

ожидаемое поведение; На все сборки в цепи должны ссылаться

[мне это не нравится, но так оно и есть]

...