Системные ссылки отсутствуют Xamarin.Forms .NetStandard

Мой Xamarin.Forms проект, ориентированный на .NETStandard 1.4, и при импорте переносимого ПО возникают проблемы с Системными ссылками.

Импортирован соответствующий переносимый профиль и системные пакеты NuGet для .NETCore, но Xamarin.Forms (PCL) их не принимает.

Есть ли способ обойти это?

{
  "supports": {},
  "dependencies": {
    "Microsoft.NETCore.Portable.Compatibility": "1.0.1",
    "NETStandard.Library": "1.6.0",
    "System.ComponentModel": "4.0.1",
    "System.Diagnostics.Tools": "4.3.0-preview1-24530-04",
    "System.Resources.ResourceManager": "4.3.0-preview1-24530-04",
    "System.Runtime.Serialization.Primitives": "4.1.1",
    "Prism.Core": "6.2.1",
    "Prism.Forms": "6.2.0",
    "Prism.Unity.Forms": "6.2.0",
    "Xamarin.Forms": "2.3.2.127"
  },
  "frameworks": {
    "netstandard1.4": {
      "imports": "portable-net45+win81"
    }
  }
}

Получите такие ошибки сборки:

Тип IEditableObject определен в сборке, на которую нет ссылок. Вы должны добавить ссылку на сборку System.ComponentModel, Version = 4.0.0.0, Culture = нейтральный, PublicKeyToken = b03f5f7f11d50a3a.

...и это:

Имя типа GeneratedCodeAttribute не может быть найдено в пространстве имен System.CodeDom.Compiler. Этот тип был перенаправлен в сборку «System.Diagnostics.Tools, Version = 0.0.0.0, Culture = нейтральный, PublicKeyToken = b03f5f7f11d50a3a». Рассмотрите возможность добавления ссылки на эту сборку.


person Thomas Hagström    schedule 06.11.2016    source источник
comment
Такая же проблема здесь :(   -  person Juan Antonio Cano    schedule 07.11.2016
comment
Я считаю, что Xamarin.Forms в целом требует полной совместимости .Net Standard 2.0. Вы можете увидеть это в таблице здесь: docs.microsoft.com/en -us / dotnet / articles / standard / library До тех пор вам следует просто использовать PCL, а затем преобразовать PCL в netstandard20, когда он появится.   -  person Jon Douglas    schedule 08.11.2016
comment
К сожалению, похоже, что Xamarin еще не полностью поддерживает .NET Standard (см. Соответствующий ответ: stackoverflow.com/a/40954744/999428). Однако я нашел здесь рабочее решение Xamarin для проверки концепции .NET Standard 1.1: github.com/adamped /XamarinForms.NetStandard, если 1.1 достаточно для того, что вы пытаетесь выполнить.   -  person Ryan Russon    schedule 17.01.2017
comment
У меня такая же проблема. У меня никогда раньше не было такой проблемы. Я компилировал и запускал свое приложение Xamarin Forms на Android, iOS и UWP в течение нескольких месяцев, и теперь, после удаления и переустановки Windows 10 / Visual Studio, мой проект Xamarin Forms перестал компилироваться.   -  person Christian Findlay    schedule 24.03.2017
comment
Райан прав в том, что Xamarin не поддерживает .NET Standard, но я вижу из этого project.json, что проект импортирует Portable-net45 + win81, что означает, что проект будет поддерживать Xamarin Forms.   -  person Christian Findlay    schedule 24.03.2017
comment
Я также несколько раз выполнял полную очистку Git Clean, чтобы убедиться, что нет остаточных пакетов NuGet и т. Д., Которые могут вызвать проблемы.   -  person Christian Findlay    schedule 24.03.2017


Ответы (1)


Я обновился до Visual Studio 2017, и эта проблема исчезла.

person Christian Findlay    schedule 24.03.2017