C# 无法在附加说明中加载带有.NET标准2.0库的Xamarin表单项目

C# 无法在附加说明中加载带有.NET标准2.0库的Xamarin表单项目,c#,xamarin.forms,.net-standard,rider,C#,Xamarin.forms,.net Standard,Rider,TL;博士Rider是否支持带有.NET标准库2.0的Xamarin表单项目? 我使用空白表单应用程序多平台向导在VisualStudio 2017.3(Windows)中创建了一个小Xamarin项目。Microsoft最近放弃了在Windows版本的VS中创建PCL的选项,只提供.NET标准。所以我选择了那个 现在我想直接使用Rider在Mac上试用开发,这样我就不必运行Windows虚拟机(我真的很喜欢Resharper,所以我必须在Mac上使用Windows) 当我在Mac OS上的Ri

TL;博士Rider是否支持带有.NET标准库2.0的Xamarin表单项目?

我使用空白表单应用程序多平台向导在VisualStudio 2017.3(Windows)中创建了一个小Xamarin项目。Microsoft最近放弃了在Windows版本的VS中创建PCL的选项,只提供.NET标准。所以我选择了那个

现在我想直接使用Rider在Mac上试用开发,这样我就不必运行Windows虚拟机(我真的很喜欢Resharper,所以我必须在Mac上使用Windows)

当我在Mac OS上的Rider中打开这个项目时,它抛出了一系列错误,看起来所有的路径都乱七八糟。另一方面,在VS for Mac中打开它可以很好地工作

然后我用PCL在VS on Mac中创建了一个新的空白项目,Rider毫无怨言地打开了它。所以我的问题是:
Rider中是否支持带有.NET标准库2.0的Xamarin表单项目

  • 如果他们得到支持:我该怎么做才能让它工作而不破坏VS的回退
  • 如果没有:是否有任何计划在不久的将来支持它

我的一些错误:

  • 加载失败:未找到导入的项目“/usr/local/share/dotnet/sdk/2.0.3/Xamarin/Android/Xamarin.Android.CSharp.targets”。确认声明中的路径正确,并且文件存在于磁盘上
  • 未找到MSBuild目标:请确保已安装此解决方案中的项目所需的所有SDK,或在“设置”中指定其他MSBuild版本
  • 未找到Xamarin.Android SDK:Rider在此计算机上找不到Xamarin SDK。不会加载基于Xamarin的项目。请安装Xamarin SDK或更改工具集
  • 无法从程序集/Users/kay/.nuget/packages/Xamarin.Forms/2.5.0.122203/Build/netstandard1.0/Xamarin.Forms.Build.Tasks.dll加载“Xamarin.Forms.GetTasksAbi”任务。无法加载文件或程序集“Microsoft.Build.Utilities.v4.0,版本=4.0.0.0,区域性=中性,PublicKeyToken=b03f5f7f11d50a3a”。系统找不到指定的文件

我想我可以开始手动修复路径等等,但是我害怕做一些我没有深入理解的事情。我曾与Unity游戏引擎合作多年,但我是Xamarin开发新手。

转到文件|设置|构建、执行、部署|工具集,并从mono构建和更改MsBuild。我猜您在该msbuild中安装了所有Xamarin目标。

问题是由于选择了错误的msbuild文件而导致的。.NET Core SDK安装的MSBuild版本未配置为使用Xamarin SDK

在Rider goto File>Settings>Build中,执行部署>工具集和生成>使用MSBuild版本。选择不驻留在.NET Core SDK路径中的MSBuild.dll:

在将在MacOS上的Microsoft Visual Studio下运行的Windows上


这是很重要的,你完全重新启动骑手后,作出这一改变。在进行更改后,骑手将尝试进行重建,但失败。让人觉得你的找零没用。但在Rider完全重新启动之前,该设置似乎不会生效。

转到文件|设置|生成、执行、部署|工具集,并从mono生成和更改MsBuild。我猜您在该msbuild中安装了所有Xamarin目标。但是Rider在默认情况下为.net标准使用.net核心msbuild(无目标)projects@xtmq:太好了!选择/Library/Frameworks/Mono.framework/Versions/Current/lib/Mono/msbuild/15.0/bin/msbuild.dll而不是/usr/local/share/dotnet/sdk/2.0.3/msbuild.dll就成功了,可以构建项目。起初,我尝试在Android上部署时出现了一些错误。重启后一切都很好。请将您的评论放入回答(不是问题=)此外,我们正在实施改进版的MsBuild autodetection,以避免将来出现此类问题。。。将于2018年1月或2018年2月发货=)请参见选择msbuild v15解决了此问题。是不是我们现在不能将msbuild v16用于Xamarin项目?