C# 系统引用缺少Xamarin.Forms.NetStandard

C# 系统引用缺少Xamarin.Forms.NetStandard,c#,.net,xamarin,xamarin.forms,.net-standard,C#,.net,Xamarin,Xamarin.forms,.net Standard,我的项目针对.NETStandard 1.4并导入便携设备时,系统引用出现问题 已为.NETCore导入相关的可移植配置文件和系统NuGet包,但Xamarin.Forms(PCL)将不接受它们 有办法解决这个问题吗 { "supports": {}, "dependencies": { "Microsoft.NETCore.Portable.Compatibility": "1.0.1", "NETStandard.Library": "1.6.0", "Sys

我的项目针对.NETStandard 1.4并导入便携设备时,系统引用出现问题

已为.NETCore导入相关的可移植配置文件和系统NuGet包,但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,版本=4.0.0.0,区域性=中性, PublicKeyToken=b03f5f7f11d50a3a'

…这是:

在中找不到类型名称“GeneratedCodeAttribute” 命名空间“System.CodeDom.Compiler”。此类型已转发到 程序集'System.Diagnostics.Tools,版本=0.0.0.0,区域性=中性, 公共密钥令牌= B03F5F7F11D50A3A“考虑添加一个引用 大会


我升级到Visual Studio 2017后,这个问题消失了。

这里也有同样的问题:(我相信,
Xamarin.Forms
作为一个整体需要.Net标准2.0完全兼容。您可以在这里的表格中看到:在此之前,您应该只使用PCL,然后在它出现时将PCL转换为
netstandard20
。不幸的是,Xamarin似乎还没有完全支持.Net标准(见相关答案:)。然而,我在这里发现了一个可行的.NET标准1.1概念验证Xamarin解决方案:如果1.1足以满足您的目标。我遇到了同样的问题。我以前从未遇到过这个问题。我已经在Android、iOS和UWP上编译和运行我的Xamarin Forms应用程序好几个月了,现在,在卸载和重新安装Windows 10/Visual Studio,我的Xamarin表单项目已停止编译。Ryan说Xamarin不支持.NET标准是正确的,但我可以从这个project.json中看到该项目导入了“portable-net45+win81”,这意味着该项目将支持Xamarin表单。