MvvMCross 3.0.6 Проблема установки пакета Nuget

Я пытаюсь установить пакет MVGMCross NuGet, используя версию NuGet 2.5. Я добавил моно android и сенсорный файл в папку Profile104. Тем не менее я получаю следующее исключение:

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 PortableClassLibrary1.
Uninstalling 'MvvmCross.PortableSupport 3.0.6'.
Successfully uninstalled 'MvvmCross.PortableSupport 3.0.6'.
Install failed. Rolling back...
Could not install package 'MvvmCross.PortableSupport 3.0.6'. 

Вы пытаетесь установить этот пакет в проект, предназначенный для 'portable-win+net45+MonoAndroid16+MonoTouch40+sl40+wp', но пакет не содержит ссылок на сборки или файлов содержимого, совместимых с этой платформой. Для получения дополнительной информации свяжитесь с автором пакета.

Я выбрал следующую опцию при создании нового проекта библиотеки PCL

введите описание изображения здесь

Ниже приводится содержимое для файлов xml из папки C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETPortable\v4.0\Profile\Profile104\SupportedFrameworks

.NET для Windows Store apps.xml

<?xml version="1.0" encoding="utf-8"?>
<Framework
    Identifier=".NETCore"
    Profile="*"
    MinimumVersion="4.5"
    DisplayName=".NET for Windows Store apps"
    MinimumVersionDisplayName="" />

.NET Framework 4.5

<?xml version="1.0" encoding="utf-8"?>
<Framework
    Identifier=".NETFramework"
    Profile="*"
    MinimumVersion="4.5"
    DisplayName=".NET Framework"
    MinimumVersionDisplayName="4.5" />

MonoAndroid.xml

<?xml version="1.0" encoding="utf-8"?>
<Framework DisplayName="Mono for Android"
  Identifier="MonoAndroid"
  Profile="*"
  MinimumVersion="1.6"
  MaximumVersion="*" />

MonoTouch.xml

<?xml version="1.0" encoding="utf-8"?>
<Framework
    DisplayName="MonoTouch"
    Identifier="MonoTouch"
    Profile="*"
    MaximumVersion="*" 
    MinimumVersion="4.0" />

Silverlight 4.xml

<?xml version="1.0" encoding="utf-8"?>
<Framework
    Identifier="Silverlight"
    Profile=""
    MinimumVersion="4.0"
    DisplayName="Silverlight"
    MinimumVersionDisplayName="4" />

VSMonoTouch.xml

<?xml version="1.0" encoding="utf-8"?>
<Framework DisplayName="VS MonoTouch"
  Identifier=".NETFramework"
  Profile="*"
  MinimumVersion="1.0"
  MaximumVersion="1.0" />

Windows Phone 7.5.xml

<?xml version="1.0" encoding="utf-8"?>
<Framework
    Identifier="Silverlight"
    Profile="WindowsPhone7*"
    MinimumVersion="4.0"
    DisplayName="Windows Phone"
    MinimumVersionDisplayName="7.5" />

Я использую Visual Studio 2012 Ultimate Update 2 в 64-разрядной версии Windows Server 2012. Может кто-нибудь указать мне в правильном направлении.

6 ответов

Похоже, вы ориентируетесь на Windows Phone 7.0 в вашей Portable Class Library. Попробуйте переключиться на Windows Phone 7.5 и посмотрите, поможет ли это. Если нет, попробуйте опубликовать снимок экрана PCL "выберите цели", а также содержимое всех файлов XML, которые вы добавили в папку "SupportedFrameworks".


РЕДАКТИРОВАТЬ: попробуйте удалить VSMonoTouch.xml (и перезапустить Visual Studio после этого).

Я только что получил обновление NuGet. Похоже, это работает сейчас.

Вот шаги, чтобы иметь MVVM Cross на новый проект:

  1. Создать новый проект Xamarin Android

  2. Создайте новую библиотеку PCL проекта (выберите Mono Android, MonoTouch и Windows Phone 7.5 и выше).

  3. Добавьте MVVMCross NuGet как в приложение, так и в PCL.

  4. Добавить библиотеку в качестве ссылки на приложение

Не добавляя MVVMCross также в приложение, я получаю ошибку при компиляции.

Обход, упомянутый в комментарии к блогу Стюарта (по адресу http://slodge.blogspot.co.uk/2013/04/n0-first-mvvmcross-application-n1-days.html), сработал для меня:

Удалите Mono для Android, MonoTouch, VS MonoTouch и Windows Phone из целевых структур в свойствах проекта Core. Установите пакет MvvmCross NuGet. Добавьте целевые рамки обратно.

Я тоже сталкиваюсь с этой проблемой. После поиска в поисках решения я обнаружил, что использую Nuget версии 2.4, я обновляю свой nuget до версии 2.6, и он работает без сбоев. Вы можете скачать Nuget 2.6 здесь: Nuget 2.6

У меня такая же проблема

Не удалось установить пакет 'MvvmCross.PortableSupport 3.0.6'. Вы пытаетесь установить этот пакет в проект, предназначенный для 'portable-win+net45+MonoAndroid16+MonoTouch40+sl40+wp71', но пакет не содержит ссылок на сборки или файлов содержимого, совместимых с этой платформой. Для получения дополнительной информации свяжитесь с автором пакета.

Согласно http://slodge.blogspot.co.uk/2013/04/my-current-pcl-setup-in-visual-studio.html, у меня нет VSMonoTouch, только два файла (MonoAndroid,Version=v1.6+.xml и MonoTouch, версия =v1.0+.xml)

Я также пытался

"Удалите Mono для Android, MonoTouch, VS MonoTouch и Windows Phone из целевых фреймворков в свойствах проекта Core. Установите пакет MvvmCross NuGet. Добавьте целевые фреймворки обратно".

Но когда я пытаюсь скомпилировать, я получаю эту ошибку:

Ошибка 1 Исключение при загрузке сборок: System.IO.FileNotFoundException: Не удалось загрузить сборку "System.Windows, версия =2.0.5.0, культура = нейтральная, PublicKeyToken=7cec85d7bea7798e". Возможно, его нет в профиле Mono для Android? Имя файла: 'System.Windows.dll' в Xamarin.Android.Tuner.DirectoryAssemblyResolver.Resolve(ссылка на AssemblyNameReference, параметры ReaderParameters) в Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(список1 assemblies, AssemblyDefinition assembly) at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(List1 сборки, сборка AssemblyDefinition) в Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(список `1 сборок, сборка AssemblyDefinition) в Xamarin.Android.Tasks.ResolveAssemblies.Execute() MyProject

Я написал пошаговый пост для создания простого Android-приложения с нуля с использованием PCL

http://enginecore.blogspot.ro/2013/05/first-app-with-xamarin-android-and.html

Другие вопросы по тегам