无法从 C# PCL 添加对 F# PCL 的引用

Posted

技术标签:

【中文标题】无法从 C# PCL 添加对 F# PCL 的引用【英文标题】:Can't add reference to an F# PCL from a C# PCL 【发布时间】:2017-02-06 09:47:40 【问题描述】:
    创建 C# Xamarin Forms 应用程序 添加 C# PCL 添加 F# PCL 尝试将 C# PCL 中的引用添加到 F# PCL

-> 在参考对话框中你会看到: 不兼容的框架定义: :NETFramework=v4.5;Profile=Profile78)

标记为已解决的其他类似问题的提示不起作用。例如。手动添加引用将无法编译。 我不知道从哪里开始弄清楚。是编译器问题还是 xamarin 问题?我不认为这是最后一个,因为它也不适用于 VS 2015。

2016 年 10 月 20 日更新

Bugrequest 和 Gitrepo:https://bugzilla.xamarin.com/show_bug.cgi?id=44976

【问题讨论】:

您的 C# 项目使用哪个 PCL 配置文件? 我在 Visual Studio 2015 中尝试过,但得到了不同的错误。似乎 VS 不知道 F# 项目是 PCL。 @CoderDennis 也是配置文件 78。我使用 Xamarin Studio 默认创建它。奇怪的是,我可以毫无问题地将 F# PCL 的引用添加到 C# PCL。我厌倦了将 C# 项目更改为 Profile 259。同样的问题。在 F# 项目中,我看不到更改配置文件的选项(在 Xamarin Studio 中) 在 VS 中我也无法更改目标框架,但我注意到目标 F# 运行时是 3.1。已将其更改为 4.0,但仍然无法添加引用。 尝试在 VS15 中引用它显示“无法添加对项目 pclfs 的引用。可移植库项目只能引用其他可移植库项目和程序集”-> F# PCL 不是 PCL 吗?跨度> 【参考方案1】:

我无法在 Xamarin Studio 中重现此内容。根据我的尝试和屏幕截图,我猜测 F# PCL 是与 C# PCL 不同的配置文件目标。仔细检查目标是否完全相同,然后重试。

【讨论】:

您确定您尝试从您的 cspcl 中引用 fspcl 吗?这是与 github repro 的讨论。但是这个 repo 的 ref 方向错误,所以它可以工作。正如我提到的那样,它不起作用:forums.xamarin.com/discussion/73601/…?【参考方案2】:

Jason Imison 想出了一个解决方法:

    即使 F# 与 VS 一起安装,也需要 F# 工具https://www.microsoft.com/en-us/download/details.aspx?id=48179 然后可以通过使用程序集(不是按项目)添加引用,它会编译

【讨论】:

以上是关于无法从 C# PCL 添加对 F# PCL 的引用的主要内容,如果未能解决你的问题,请参考以下文章

使用 protobuf-net 生成器制作 PCL 友好的 C# 类

无法使用 Pcl Storage 在 Xamarin 表单中读取文件

Xamarin PCL C# - 将字符串反序列化为 JSONObject/JSONArray

如何在 Xamarin 表格 pcl 的网格中插入背景图像

pcl建立连接失败

PCL学习总结PCL添加PCD文件并显示的不同方式以及PCL中的其他显示方法