首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法将引用从C# PCL添加到F# PCL (VS 2015更新1)

无法将引用从C# PCL添加到F# PCL (VS 2015更新1)
EN

Stack Overflow用户
提问于 2016-01-16 22:43:17
回答 2查看 708关注 0票数 16

我在创建应该从C#可移植项目引用的F#可移植项目时遇到问题。添加此类引用时,会出现以下消息:

无法添加对'PortableLibrary1‘的引用。可移植库项目只能引用其他可移植库项目和程序集。

使用最新的Visual Studio 2015更新1(版本14.0.24720.00)很容易重现该问题。我也安装了Xamarin。

我可以使用任何类型的C#可移植项目来重现这个问题,下面是可用的:

  • 类库(Portable)
  • Class库(可移植到iOS、安卓和Windows)

和任何类型的F#可移植库项目,并提供以下内容:

  • 可移植库(.NET 4.5、Windows Store、Silverlight 5、Xamarin)配置文件47
  • 可移植库( Windows 4.5、Windows Store、Windows Phone 8 Silverlight、Xamarin)配置文件78.NET
  • 可移植库( Windows 4.5、Windows Store、Windows Phone 8.1、Windows Phone Silverlight 8、Xamarin)配置文件259
  • 可移植库(.NET 4.5、Windows Store、Xamarin)配置文件7

我对C#和F#使用了相同的配置文件,但没有任何帮助。

似乎在(How do I add a reference to F# Portable Library from C# Portable Class Library (PCL))之前就已经存在这样的问题,然后成功地修复了。但现在它又被复制了。

有没有人能告诉我我漏掉了什么?也许有一些东西需要额外安装或类似的?

EN

回答 2

Stack Overflow用户

发布于 2016-04-25 02:48:58

我也有同样的问题。我破解了我的PCL的.csproj。之后,在C#项目中引用F# PCL,我可以使用所有东西。我不知道有没有什么问题--我想不出有什么问题。

下面是重现的步骤:

  • 新C#项目(可移植类配置文件111)
  • 新F#项目(可移植类配置文件7)
  • 查看F# .fsproj文件并复制

C# .csproj的值,然后添加以下项组

{F#项目Id} F#项目

我正在使用带有更新2的Visual Studio 2015社区

票数 4
EN

Stack Overflow用户

发布于 2016-04-05 06:26:14

如果确实存在错误,并且您想要将C# PCL库中的内容调用到F# PCL库中,一种解决方法是将C#库添加为对F#库的引用(反之亦然)。

然后,F#代码将实现您在C#端定义的接口(请参阅https://msdn.microsoft.com/en-us/library/dd233207.aspx)。

它还将调用您在C#端提供的方法,为您提供实现该接口(在F#端实现)的类实例的引用。或者,您可以使用MEF (托管可扩展性框架- https://blogs.msdn.microsoft.com/jomo_fisher/2010/03/09/neat-samples-extend-your-f-program-with-mef/)将该接口实现从F#端传递到C#端,由C#端发起对“绑定”的请求(请参阅控制反转/依赖注入)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34828235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档