Подтвердить что ты не робот

Удалите ios, windows8 и wp8 из Xamarin Forms PCL - nuget 3.0 в ошибке?

Я работаю над проектом Xamarin Forms. Я хочу настроить таргетинг на Android и Windows 10 UWP.

Когда я пытаюсь очистить PCL, удалив "Windows 8", "Windows Phone Silverlight 8", "Windows Phone 8.1", "Xamarin.ios" и "Xamarin.ios(classic)" из целевых объектов PCL, Я получаю следующие неприятные...

Я просто пытаюсь удалить WP8, поскольку я не забочусь о его таргетинге.

Цели проекта не могут быть изменены. Для выбранных целей проект по выбору поддержки NuGet 3.0, однако, Visual Studio не может автоматически сделать это за вас. Удалите все NuGet пакетов и повторите попытку.

Как вы получаете проект по выбору в NuGet 3.0? Что-то еще я должен попробовать?

окружающая среда: Xamarin Forms, VS2015

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

Спасибо....

4b9b3361

Ответ 1

Решение, которое сработало для меня:

Удалить Xamarin.Forms:

Right Click Solution -> Manage NuGet Packages -> Uninstall Xamarin.Forms -> Restart VS

Затем удалите сборку платформ:

Right Click Solution -> Properties -> Build -> under Targeting select Change -> Remove platform(s) -> Restart VS

Переустановите Xamarin.Forms:

Manage NuGet packages -> Search for Xamarin.Forms -> Install -> Restart VS

Ответ 2

Еще одно возможное решение - временно переименовать package.config, изменить настройки PCL на новые целевые платформы, а затем снова изменить имя package.config. Это работало для меня в моем проекте с использованием VS 2015. Не могу взять кредит на это решение, прочитать его в блоге некоторое время назад и просто опубликовать его здесь, если он кому-то поможет. Если я снова попаду в статью в блоге, я отправлю ссылку здесь.

Ответ 3

Для меня это то, что исправлено: Просмотрите файл packages.config в этом целевом проекте и удалите ВСЕ установленные пакеты. Затем вы сможете изменить таргетинг. Затем переустановите свои пакеты.

Ответ 4

В комментариях к исходному вопросу есть пара потенциальных маршрутов; можно было бы попытаться удалить все пакеты из проектов и внести необходимые изменения перед повторным их добавлением.

Ответ 5

Для моего первоначального прототипа я не хотел тратить время на другие платформы; так:

  • Я начал новое решение - "Blank App (Xamarin Forms Portable)"
  • Я использовал PackageManager для удаления ВСЕХ пакетов из всех проектов.
  • Я изменил Цели проекта, чтобы исключить любые приложения Windows Mobile (он хотел сохранить Windows 8.1, я думаю, что это было интеграция .NET, которую я хотел)
  • Я удалил 3 проекта Windows
  • Я использовал PackageManager для чтения "Xamarin.Forms" для всех остальных проектов - и он автоматически добавил все остальные пакеты, которые существовали при запуске.

Теперь мое решение только (действительно) предназначено для Android и iOS....

Ответ 6

Если ваша проблема связана с этой опцией, отображаемой повсюду в решении, вы можете просто выбрать в браузере решений те, которые вы не хотите показывать, затем щелкнуть правой кнопкой мыши и нажать "Выгрузить проект". Они останутся там, увеличивая размер проекта, но они уйдут из списка развертывания и других мест.

Ответ 7

Лучший способ отключить одну из сборщиков - в обозревателе решений, щелкните правой кнопкой мыши на сборке, которую вы не хотите включать как Windows или WinPhone, и нажмите "Разгрузить проект". Затем эта сборка изменится на (недоступна)

Ответ 8

Ничто из вышеизложенного не разрешило мою проблему И удаление пакетов nuget или редактирование файла проекта НЕ является решением (по крайней мере, для меня - говорить об адском ад), но этот метод работает:

Во-первых, вы не можете удалить одну целевую платформу, такую ​​как win8, silverlight или ядро ​​asp.net, не снижая также платформу .NET Framework.

Если вы снимите отметку с Windows 8 и ядра ASP.NET, снимите флажок с .NET Framework. Не волнуйтесь, он не представит указанное выше сообщение об ошибке, но VS автоматически проверит .NET Framework (часто более низкую версию), а затем после завершения повторного добавления окна 8.1 после удаления остальных.

Как только это произойдет, вы можете впоследствии удалить остальные. Это заняло у меня некоторое время, чтобы понять, так как это не очевидно и не объяснено нигде. Вам не нужно удалять Xamarin.Forms.