【问题标题】:Can i create a cross platform Xamarin Forms application in F#?我可以在 F# 中创建跨平台 Xamarin Forms 应用程序吗?
【发布时间】:2018-02-27 05:42:35
【问题描述】:

正如标题所说,这是目前的一个选项吗?从屏幕截图中可以看出,我没有看到在 Visual Studio 中创建跨平台项目的选项。有没有办法解决这个问题,即跨平台选项是否可以方便地设置项目结构?如果是这样,我该怎么做?

【问题讨论】:

  • Visual Studio for Windows 在删除基于 PCL 的 Xamarin.Forms 解决方案时删除了 F# 跨平台解决方案/项目(不确定原因,因为 Netstd2.0 使用 f# 可以正常工作)。查看 Github 上的 Xamarin.Forms Book 示例,因为那里有使用 F# 的完整解决方案/项目示例,您可以根据这些示例自行建模。 developer.xamarin.com/guides/cross-platform/fsharp/samples
  • 另一个 F# 与 C# 混合的示例。博客文章和代码是几天前发布的,所以我认为它们应该使用最新的框架版本和开箱即用的工具运行:Building An F# Redux Store For C# Xamarin Apps
  • 甚至还有完整的 MvvmNano 演示应用示例,完全用 F# 编写:github.com/ixmrm01/MvvmNanoDemo

标签: visual-studio xamarin xamarin.forms f#


【解决方案1】:

其他人发布的参考资料都不错,只是那些项目不是所有的.Net Standard 2.0,所以如果你使用它们,你以后需要升级。但即使没有当前模板,创建 Xamarin Forms F# 解决方案也不难:

  1. 创建一个新的 .Net Standard C# Xamarin.Forms 项目。删除 .Net Standard C# 库,保留特定于平台的部分。
  2. 添加 .Net Standard 2.0 F# 库,安装 Xamarin.Forms 包,并将平台项目连接到它。
  3. 在这个库中定义一个 App 类:

    键入 SomeNamespace.App() = 继承 Xamarin.Forms.Application() 做 base.MainPage &lt- ...
  4. 在(C#)平台项目中参考这个:LoadApplication(new SomeNamespace.App());

【讨论】:

  • 谢谢!跨平台项目是否需要引用 ios 和 android 项目,还是相反?
  • 不,反之亦然。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多