【发布时间】:2018-02-05 17:36:51
【问题描述】:
TL;DR; Rider 是否支持带有 .NET Standard 库 2.0 的 Xamarin Forms 项目?
我使用空白表单应用程序多平台向导在 Visual Studio 2017.3 (Windows) 中创建了一个小型 Xamarin 项目。 Microsoft 最近在 Windows 版本的 VS 中放弃了创建 PCL 的选项,仅提供 .NET Standard。所以我选择了那个。
现在我想直接使用 Rider 在 Mac 上尝试开发,这样我就不必运行 Windows VM(我真的很喜欢 Resharper,所以我在我的 Mac 上绑定到 Windows)
当我在 Mac OS 上的 Rider 中打开这个项目时,它会抛出一堆错误,并且看起来所有路径都搞砸了。另一方面,在 VS for Mac 中打开它可以正常工作。
然后,我使用 PCL 在 Mac 上的 VS 中创建了一个新的空白项目,Rider 毫无怨言地打开了它。所以我的问题:
Rider 是否支持带有 .NET Standard 库 2.0 的 Xamarin Forms 项目?
- 如果它们受支持:我应该怎么做才能使其正常工作而不中断对 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 加载“Xamarin.Forms.Build.Tasks.GetTasksAbi”任务.Build.Tasks.dll。无法加载文件或程序集“Microsoft.Build.Utilities.v4.0,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a”。系统找不到指定的文件。
我想我可以开始手动修复路径等,但我害怕做一些我没有深入了解的事情。我曾经使用 Unity 游戏引擎多年,但我是 Xamarin 开发的新手。
【问题讨论】:
-
转到文件 |设置 |构建、执行、部署 |工具集和构建以及从单声道更改 MsBuild。我猜你在那个 msbuild 中安装了所有 Xamarin 目标。
-
但 Rider 默认使用 .net core msbuild(无目标)用于 .net 标准项目
-
@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 上部署时出现了一些错误。重启 Rider 后一切正常。请将您的评论放入答案中
-
不是问题 =) 此外,我们正在实施改进的 MsBuild 自动检测版本以避免将来出现此类问题...将于 2018.1 或 2018.2 发布 =) 请参阅 youtrack.jetbrains.com/issue/RIDER-7112
标签: c# xamarin.forms .net-standard rider