Ошибка при установке MVVMCross из nuget в PCL

Когда я пытаюсь установить MvvmCross в новый PCL, я получаю сообщение об ошибке. Лог консоли ниже:

Package Manager Console Host Version 2.5.40416.9020

Type 'get-help NuGet' to see all available NuGet commands.

PM> install-package MvvmCross
Attempting to resolve dependency 'MvvmCross.HotTuna.StarterPack (≥ 3.0.6)'.
Attempting to resolve dependency 'MvvmCross.HotTuna.CrossCore (≥ 3.0.6)'.
``Attempting to resolve dependency 'MvvmCross.PortableSupport (≥ 3.0.6)'.
Installing 'MvvmCross.PortableSupport 3.0.6'.
Successfully installed 'MvvmCross.PortableSupport 3.0.6'.
Installing 'MvvmCross.HotTuna.CrossCore 3.0.6'.
Successfully installed 'MvvmCross.HotTuna.CrossCore 3.0.6'.
Installing 'MvvmCross.HotTuna.StarterPack 3.0.6'.
Successfully installed 'MvvmCross.HotTuna.StarterPack 3.0.6'.
Installing 'MvvmCross 3.0.6'.
Successfully installed 'MvvmCross 3.0.6'.
Adding 'MvvmCross.PortableSupport 3.0.6' to Clevermed.Badger.Mobile.Core.
Uninstalling 'MvvmCross.PortableSupport 3.0.6'.
Successfully uninstalled 'MvvmCross.PortableSupport 3.0.6'.
Install failed. Rolling back...
install-package : Specified argument was out of the range of valid values.
Parameter name: supportedFrameworks
At line:1 char:1
+ install-package MvvmCross
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [Install-Package], ArgumentOutOfRangeException
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

Я использую Profile104, как описано в http://slodge.blogspot.com/2013/04/my-current-pcl-setup-in-visual-studio.html

Это аналогичная, но отдельная ошибка проблеме установки пакета Nuget MvvMCross 3.0.6.

Кроме того, если я щелкну правой кнопкой мыши решение и «Управление пакетами NuGet», я получу сообщение об ошибке «Указанный аргумент вышел за пределы диапазона допустимых значений». Имя параметра: supportFrameworks'.

Любые идеи, как я могу отладить это дальше?


person Chris Koiak    schedule 14.05.2013    source источник


Ответы (5)


У меня была аналогичная проблема при установке пакета Nuget MvvMCross 3.0.6. Я поднял аналогичный вопрос MvvMCross 3.0.6 Проблема с установкой пакета Nuget

Поэтому я последовал предложению Стюарта и направил dll MvvmCross непосредственно в проект, который работал как шарм. Вы можете загрузить код MvvMCross с https://github.com/slodge/MvvmCross.

person Amit Rai Sharma    schedule 15.05.2013
comment
Спасибо. Для меня проблема заключалась в папке Profile104 в каталоге v4.5 (а не v4.0). - person Chris Koiak; 15.05.2013

Я не уверен, но какую версию NuGet вы используете?

Чтобы получить поддержку MonoTouch и MonoAndroid (и некоторую поддержку Portable), вам потребуется установить Nuget 2.5.

person Stuart    schedule 14.05.2013
comment
У меня 2.5.40416.9020 - person Chris Koiak; 14.05.2013
comment
Обновление Nuget в Visual Studio 2012 устранило проблему для меня. Спасибо. - person Justin Shield; 07.04.2014

В качестве примечания (и не знаю, исправит ли это): вы можете проверить свою версию nuget в Инструменты > Расширения и обновления. Здесь вы можете просмотреть список ваших установленных пакетов, а также их версии.

Кроме того, если ваш менеджер пакетов nuget устарел, он будет отображаться в категории «Обновления».

... с другой стороны, ваша консоль менеджера пакетов говорит, что это версия 2.5.something, так что я предполагаю, что вы в курсе этой версии.

person GitteTitter    schedule 14.05.2013
comment
Спасибо Гитте, у меня 2.5.4. - person Chris Koiak; 14.05.2013
comment
А ваш PCL, какие целевые фреймворки вы проверяли? Например: вы нацелены на 7.1 или 7.5 для Windows Phone? Т.е. Если я сам выбираю 7.1, я получаю аналогичную (но немного другую) ошибку. - person GitteTitter; 14.05.2013
comment
Оказывается, я создал папку Profile104 в папке фреймворка v4.5. Это вызывало ошибку Nuget. - person Chris Koiak; 14.05.2013

Я не знаю как, но у меня была пустая папка Profile104 в C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETPortable\v4.5\Profile

Вероятно, это остатки от моих первых попыток.

Удаление этого пустого каталога позволило завершить установку без ошибок.

person Chris Koiak    schedule 15.05.2013
comment
Это работает. Но не для каждого типа проектов. Profile104 ссылается на Portable Library (которая считается основой проекта Application.Core). А если такого профиля нет, то можно вообще ничего не добавлять в его тип проекта. - person Agat; 04.06.2013

Не уверен, но может ли быть проблема с пакетом NuGet MvvmCross.PortableSupport?

Нажмите на изображение, чтобы увидеть его в полном разрешении...

Целевая платформа не распознана?

Также ознакомьтесь с документацией NuGet для получения подробной информации о поддерживаемых переменных целевой платформы: http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#Matching_Assembly_Version_to_the_Target_Framework_of_a_Project

person Xavier Decoster    schedule 14.05.2013
comment
Я думаю, что этот пакет является проблемой, однако он предназначен для фреймворков, которые устанавливаются только с Xamarin. Поэтому я не уверен, следует ли ожидать этой ошибки. - person Chris Koiak; 14.05.2013
comment
Тогда кажется логичным, что расширение NuGet VS не удается установить пакет для этого пакета. Однако эта зависимость должна быть условной в группе зависимостей: docs.nuget. org/docs/reference/ Зависимый пакет должен указывать это условие, поэтому, насколько я могу судить, проблема в зависимом пакете. - person Xavier Decoster; 14.05.2013