升级到netstandard2.0时Xamarin错误

时间:2018-07-13 19:46:29

标签: .net xamarin xamarin.forms compiler-errors visual-studio-2017

我正在尝试更新一个xamarim项目以使用netstandard2.0。但这会产生以下错误:

  

严重性代码描述项目文件行抑制状态   错误您的项目未引用“ .NETPlatform,Version = v5.0”框架。在project.json的“框架”部分中添加对“ .NETPlatform,Version = v5.0”的引用,然后重新运行NuGet restore。

这是我的project.json:

{
  "dependencies": {
    "Microsoft.NETCore.Portable.Compatibility": "1.0.1",
    "NETStandard.Library": "2.0.3",
    "Newtonsoft.Json": "11.0.2",
    "System.Reactive.Linq": "4.0.0"
  },
  "frameworks": {
    "netstandard2.0": {}
  },
  "supports": {}
}

1 个答案:

答案 0 :(得分:2)

切换到.NET Standard 2.0可以非常简单地完成。从官方文档到youtube视频,都有关于它的多篇文章。以下是有关执行该操作的几个简单步骤的简短摘要:

  1. 卸载PCL项目(​​右键单击->卸载),然后开始编辑 它(右键->单击“编辑”)
  2. 删除csproj中的所有内容,并将其插入:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <!--<PackageReference Include="" Version=""/>-->
  </ItemGroup>

</Project>

  1. 重新添加NuGets(只需打开packages.config,然后添加上面的软件包引用,或者通过NuGet软件包管理器。
  2. 删除AssemblyInfo.cs(现在在csproj中)和packages.config(也通过PackageReference在csproj中)

来源:https://gist.github.com/yuv4ik/063a35fe3986e62d69aee2f0ed0607bf

或者,如果您使用的是Visual Studio for Mac,则可以使用Mutatio VS扩展程序来自动执行该过程。