f# - MonoFramework 的 FSharp 项目的目标?

标签 f# mono xamarin

我找到了在 travis 上获取 C#/F# 的解决方案:How do I use Travis-CI with C# or F#

除了我得到的是 3.2.4 版本

我检查了存档并在那里找到了 fsharpc,但找不到 Microsoft.FSharp.Targets 或类似的东西...

所以...我的 Visual Studio F# 项目包含:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v12.0\FSharp\Microsoft.FSharp.Targets" />

并且肯定它在那里不起作用...我尝试了多种方法,包括从 F# 开源 github 下载 Microsoft.FSharp.Targets 但后来它尝试使用 fsc 而不是 fsharpc,这是一个对我来说有点奇怪......

那么简而言之,我应该如何使我的 fsproj 文件看起来像它在 Xamarin 提供的 MonoFramework 上工作?

最佳答案

我自己不使用 Visual Studio 2013,但帮助另一个使用 Visual Studio 2013 的 OSS 项目在 Mono 上运行。

当前的 VS2013 fsproj 对于 fsharp 目标有条件导入 VS2012 (v11)。

  <PropertyGroup>
    <FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath>
  </PropertyGroup>
  <PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'">
    <FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
  </PropertyGroup>

通过添加 Or $(OS) != 'Windows_NT' 这将适用于 mono 3.2.4 的 xbuild。

  <PropertyGroup>
    <FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath>
  </PropertyGroup>
  <PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0' Or $(OS) != 'Windows_NT'">
    <FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
  </PropertyGroup>

关于f# - MonoFramework 的 FSharp 项目的目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19969863/

相关文章:

f# - 从 F# DU 访问特定案例

asp.net-mvc - 我应该学习 NHaml 吗?

android - 错误 MSB4185 : "System.Globalization.CultureInfo" has not been enabled for execution

c# - 找不到 Microsoft.DiaSymReader.Native.x86.dll

android - 在 Xamarin Forms 中访问 AssetManager

ios - Xcode 5.0 的 Xamarin 4.0.10 不会在设备上运行,但会在模拟器中运行

F#:按重复出现的元素序列分组

types - 在内部使用列表时未定义相互递归类型

c# - 在单声道上获取带有转义斜杠的 Uri

c# - Xamarin Forms - CustomRenderer 在导航离开后不工作