2008-10-22 2 views
1

Привет У меня есть проблема с иерархией зависимостей Я не уверен, как решить:Как бороться с несколькими версиями зависимостей?

alt text http://img525.imageshack.us/my.php?image=56330713it2.jpg http://img525.imageshack.us/my.php?image=56330713it2.jpg

Проблема в том, с тем, как я должен ссылаться на эти зависимости от проекта MyProject. Я создал BaseProject и CommonUtil (версия 1.0), который был встроен в сборки. Теперь в MyProject я использую классы из CommonUtil, и я не уверен, должен ли я ссылаться на CommonUtil.v.1.0, или если бы я мог/должен ссылаться на текущую версию CommonUtil (v 2.0).

Какую сборку CommonUtils следует использовать в моем проекте MyProject? Я не могу ссылаться на обе сборки, поскольку VS говорит мне, что не может определить, какую сборку использовать, поскольку оба они содержат одни и те же методы. Если бы я только ссылался на v.1.0, я бы, возможно, не имел всего, что мне нужно, из v.2.0, и если бы я ссылался только на v.2.0, то, возможно, у меня не было бы всех возможностей в v.1.0 (для чего нужен BaseProject).

+0

Проблема с scematic я приложил. пытается исправить – 2008-10-22 13:53:24

ответ

2

Если вы используете классы, которые BaseProject возвращает непосредственно в MyProject, вам нужно придерживаться той же версии (1.0). Но если BaseProject использует только эти классы внутри себя и не делится с MyProject, вы можете безопасно использовать новую версию (2.0).

Лучшая практика: назовите свои сборки так, чтобы компилятор мог вам помочь.

+0

Под этим вы подразумеваете, что я должен поместить мои сильно названные сборки в GAC? – 2008-10-22 14:01:19

Смежные вопросы