New F # проектов поставляется сКак сделать проекты F #, которые будут работать на VS2010/VS2013-preview?
<Choose>
<When Condition="'$(VisualStudioVersion)' == '11.0'">
<PropertyGroup Condition="Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets')">
<FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets')">
<FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath>
</PropertyGroup>
</Otherwise>
</Choose>
<Import Project="$(FSharpTargetsPath)" />
MSBuild просто не удается с ним, так что я даже не могу написать сценарий сборки на основе этого файла проекта.
Мое решение:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v12.0\FSharp\Microsoft.FSharp.Targets" />
Я поставил v12.0
вместо $(VisualStudioVersion)
потому VisualStudioVersion это 11 для моего MSBuild. Таким образом, но это нарушает совместимость с другими версиями Visual Studio.
Я думаю, мне нужно сделать что-то, так
<FSharpTargetsPath Condition="'$(VisualStudioVersion)' == '11.0'">$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
и
<FSharpTargetsPath Condition="'$(VisualStudioVersion)' == '12.0'">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v12.0\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath>
Но даже не похожи друг на друга хорошее решение. Правильно ли это?
Также у меня есть проблемы с запуска 3,0 F # компилятор fsc.exe
и программное обеспечение, так FAKE
:
Не удалось загрузить файл или сборку FSharp.Core, Version = 4.3.0.0, культура = нейтральной, PublicKeyToken = b03f5f7f11d50a3a»или одна из его зависимостей
Итак, как не нарушать совместимость между 3.0/msbuild и 3.1 и более новыми версиями VS2013?
Проекты VS2013 [предполагается, что они совместимы с версиями VS2012] (https://blogs.msdn.com/b/fsharpteam/archive/2013/06/27/announcing-a-pre-release-of-f -3-1-и-visual-f-tools-in-visual-studio-2013.aspx? Redirected = true), хотя для проектов VS2012 требуется одноразовое обновление для этого. Если вы обновили проект VS2012 до VS2013, и впоследствии вы не сможете его построить с помощью VS2012, вы должны сообщить об этой проблеме, чтобы ее можно было исправить для RTM VS2013. –
Что относительно VS2010? У меня нет VS2012, чтобы проверить, работает ли этот '''. –
Cynede
Не знаю. Объявление предварительного просмотра VS2013 ничего не говорило о VS2010, поэтому я предполагаю, что вы не сможете (легко) создавать файлы проектов, которые работают во всех трех версиях. –