cod*_*zen 10 c# f# csc visual-studio
我正在使用C#中的一些F#类型(Matrix等),所以我需要在我的C#项目中引用FSharp.Core程序集.到现在为止还挺好.
但是,显然在mscorlib.dll(v4)中定义了一些在FSharp.Core(v2)中"重复"的类型,如System.Tuple和System.IObservable.我无法理解为什么这是在.Net 4.Matt Ellis明确表示他们将在他的MSDN文章中删除:
一种遭受[重复]问题的语言是F#,它以前在FSharp.Core.dll中定义了自己的元组类型,但现在将使用Microsoft .NET Framework 4中添加的元组.
如果我能指定我想在C#程序中使用哪一个,我已经准备好了解这个特别不合时宜的重复.System.Tuple例如,当我尝试使用该类型时,我得到以下C#编译器错误:
错误2"c:\ Program Files(x86)\ Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\Profile\Client\mscorlib.dll"和"c:\ Program Files"中都存在"System.Tuple"类型(x86)\ Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v2.0\FSharp.Core.dll'
显然,解决这个问题的方法是在C#编译器命令行上切换该类型的别名:
csc.exe MyType.cs /reference:System.Tuple`2=mscorlib.dll /reference:FSharp.Core.dll
但是,我找不到让Visual Studio将此参数发送到C#编译器的方法.
有人有解决方案吗?
Jar*_*Par 12
您需要引用F#运行时的4.0版本.此版本对应于mscorlib的4.0版本,并且没有冲突类型.他们将在此目录中
C:\ Program Files(x86)\ Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v4.0
| 归档时间: |
|
| 查看次数: |
3766 次 |
| 最近记录: |