我找到了在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#opensource github下载Microsoft.FSharp.Targets
,但后来它试图使用fsc代替fsharpc,这对我来说有点奇怪......
简而言之,我应该如何让fsproj
文件在MonoFramework
提供的Xamarin
上工作?
答案 0 :(得分:3)
我自己并没有使用Visual Studio 2013,但已经帮助了另一个OSS项目,他们开始使用单声道。
当前的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'
,这将适用于单声道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>