无法从 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 表单中读取文件