2

我找到了在 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" />

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

所以简而言之,我应该如何让我的fsproj文件看起来像它MonoFramework提供的那样工作Xamarin

4

1 回答 1

3

我自己不使用 Visual Studio 2013,但帮助了另一个使用单声道的 OSS 项目。

当前的 VS2013fsproj对 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'这将与单声道 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>
于 2014-01-22T18:41:01.950 回答