использовать дозвуковые 2.x и 3.x в одном проекте - PullRequest
4 голосов
/ 27 августа 2009

Можно ли их смешать? Я спрашиваю, потому что у меня большой проект, который использует сгенерированные классы Subsonic 2.x (в скомпилированной dll), но хотел бы начать использовать 3.x для новых вещей.

Я попробовал это вчера вечером с проектом, где у меня были ссылки на subsonic.dll и subsonic.core.dll, но он не работал с неоднозначными ссылками и т. Д. Поэтому удалил 2.x, а затем получил проблему с моим старые скомпилированные дозвуковые сгенерированные классы в том смысле, что для их работы требовался Subsonic 2.1.

Ответы [ 3 ]

6 голосов
/ 27 августа 2009

Хм ... Я думаю, что есть небольшая вероятность, что вы сможете это сделать, но вам нужно будет использовать полные квалифицирующие имена классов (namespace.class) для большого количества кода, потому что могут быть конфликты имен , Это было бы нелегко сделать и определенно не рекомендуется. (Это может даже не быть сделано.)

Нельзя перейти с 2.x на 3.x, не выполняя много перекодирования. У меня есть куча больших проектов в 2.2, и после попытки обновления до 3.0 я столкнулся с некоторыми проблемами, поэтому я решил оставить их в 2.2. Я бы с удовольствием обновился до 3.0 и тоже использовал новые, но у меня нет времени (прямо сейчас), чтобы перекодировать то, что изменилось между 2.x и 3.0.

Я рекомендую обновить до 2.2. Не должно быть никаких проблем обратной совместимости между 2.1 и 2.2. Я смог обновить до 2.2, просто изменив мою ссылку.

Просто любопытно, вы используете реализацию ActiveRecord или Repo?

У вас есть только 2 варианта:

  1. пребывание в 2,1 / 2,2
  2. обновить код до 3.0
2 голосов
/ 27 октября 2009

Я подумал, что последую за мной и сообщу людям, что я смог заставить это работать. Я решил отредактировать исходный код Subsonic 2 и поместить его в пространство имен Subsonic2 (все), перекомпилировать в subsonic2.dll и т. Д. Пришлось немного изменить файл web.config, затем перейти и изменить мой старый код для ссылки. subsonic2 и т. д.

Теперь я могу смешивать Subsonic 2 и 3 в одном проекте.

Gerry

0 голосов
/ 29 августа 2009

Джим - я использую ActiveRecord. 2.x находится в одном пространстве имен, а 3.x будет в другом. Тем не менее, я предполагаю, что вопрос в том, можно ли скомпилировать 2.x для работы с 3.x.

Спасибо, Gerry

...