New F # dự án đi kèm vớiLàm thế nào để thực hiện các dự án F # sẽ hoạt động tương tự trên bản xem trước VS2010/VS2013?
<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 chỉ không thành công với nó vì vậy tôi thậm chí không thể viết một kịch bản xây dựng dựa trên hồ sơ dự án này.
Giải pháp của tôi:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v12.0\FSharp\Microsoft.FSharp.Targets" />
tôi đặt v12.0
thay vì $(VisualStudioVersion)
vì VisualStudioVersion là 11 cho msbuild tôi. Vì vậy, nhưng điều này phá vỡ khả năng tương thích với các phiên bản Visual Studio khác.
Tôi đoán tôi cần phải thực hiện một cái gì đó giống nhau
<FSharpTargetsPath Condition="'$(VisualStudioVersion)' == '11.0'">$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
và
<FSharpTargetsPath Condition="'$(VisualStudioVersion)' == '12.0'">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v12.0\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath>
Nhưng điều đó thậm chí không giống như nhau giải pháp tốt. Có cách nào đúng không?
Ngoài ra tôi có vấn đề với chạy 3,0 F # biên dịch fsc.exe
và phần mềm cũng như FAKE
:
Không thể tải tập tin hoặc lắp ráp FSharp.Core, Version = 4.3.0.0, Culture = trung tính, PublicKeyToken = b03f5f7f11d50a3a' hoặc một trong những phụ thuộc của nó
Vậy làm thế nào để không phá vỡ tính tương thích giữa 3.0/msbuild và 3.1 và các công cụ xem trước VS2013 mới hơn?
Dự án VS2013 [được cho là tương thích ngược với VS2012] (https://blogs.msdn.com/b/fsharpteam/archive/2013/06/27/announcing-a-pre-release-of-f -3-1-and-the-visual-f-tools-in-visual-studio-2013.aspx? Redirected = true), mặc dù các dự án VS2012 yêu cầu nâng cấp một lần để tính năng này hoạt động. Nếu bạn đã nâng cấp dự án VS2012 lên VS2013 và bạn không thể xây dựng dự án này với VS2012 sau đó, bạn nên báo cáo vấn đề để có thể sửa lỗi cho VS2013 RTM. –
Còn VS2010 thì sao? Tôi không có VS2012 để kiểm tra nếu điều này '' hoạt động ở đó. –
Cynede
Tôi không biết. Thông báo xem trước VS2013 không nói bất cứ điều gì về VS2010, vì vậy tôi sẽ làm điều đó có nghĩa là bạn sẽ không (dễ dàng) có thể tạo các tệp dự án hoạt động trên cả 3 phiên bản. –