У меня есть огромное решение со многими проектами и собственными пакетами NuGet, которое имеет повсеместную зависимость от Unity 4.0.1.Мы оцениваем миграцию этого решения на Unity 5.11.1, чтобы повысить производительность и решить случайные сбои, связанные с DI, происходящие из кода, который проект Unity полностью удалил в версии 5.0.0.
В поисках способа облегчениябыли разработаны два внешних инструмента для миграции:
- Преобразователь исходного кода на основе Roslyn
- Мост, который реализует интерфейс Unity 5, но в действительности карты прозрачно обращаются кобернутый интерфейс контейнера Unity 4
Оба инструмента отлично проходят свои модульные тесты, и преобразователю удалось преобразовать один ключевой «листовой» проект, однако мы столкнулись с препятствиями при попытке сослаться на перенесенный листпроект из одного внутреннего проекта: печально известный NU1605 .
Я абсолютно понимаю, как оправдана ошибка NU106, поскольку внутренний проект все еще ссылается на Unity 4.0.1, а конечный проект ссылается на Unity 5.110,1.однако, это один из случаев, когда инструменты мешают: мне требуется, чтобы обе версии «сосуществовали», поскольку я вручную устранял их несоответствия.
На бумаге это должно быть достаточно жизнеспособным, так как библиотеки DLLимеют разные версии и даже разные пространства имен.
Есть ли способ заставить "nuget" принять эту странную установку?