2013-01-19 22 views
7

Tôi không thể tìm ra phiên bản thư viện thời gian chạy F # Core nào nên được sử dụng kết hợp với nền tảng Mono (.NET 3.5).F # trình biên dịch và số phiên bản chạy thử nhầm lẫn

  • Được cài đặt với Microsoft .Net 4.5 có hai phiên bản của thời gian chạy lõi FSharp, 2.3.0.0 và 4.3.0.0. Tôi đoán là cái đầu tiên được sử dụng trong .NET framework 2.0 và sau đó là cái thứ hai chỉ có thể được sử dụng bởi .NET 4.0 hoặc mới hơn. Giả định này có đúng không?
  • Vì FSharp bây giờ là mã nguồn mở và có sẵn trên Github, tôi có thể kiểm tra một thẻ gần đây, xây dựng nó và sử dụng FSharp.Core dll nó tạo ra trong dự án của tôi. Những gì tôi không biết là làm thế nào số phiên bản trên FSharp mã nguồn mở liên quan đến những mã nguồn đóng có trong gói .NET?
  • Phiên bản trình biên dịch mã nguồn mở hiện là 3.0.25 và trình biên dịch nguồn đóng có vẻ là 4.0, tôi bị nhầm lẫn:
    • Phiên bản Thời gian chạy FSharp.Core (3.0.25) từ nguồn mở dự án liên quan đến phiên bản nguồn đóng 2.3.0.0? Vì số 3.0.25 cao hơn rất nhiều so với 2.3.0.0, tôi giả định rằng phiên bản nguồn mở là mới hơn nhiều, nhưng tôi không thực sự chắc chắn, vì tôi không biết liệu các số phiên bản có thể được so sánh hay không.
    • NuGet mặt khác cung cấp FSharp.Core 2.0 và 4.0, có vẻ khá cũ. Tại sao phiên bản mới chưa được tải lên NuGet?

Trả lời

6

Bạn đang ghép hai loại số phiên bản khác nhau; không phải là tôi đổ lỗi cho bạn mặc dù - Tôi hiểu làm thế nào nó có thể gây nhầm lẫn nếu bạn mới đến F # và/hoặc .NET.

  • Đúng. Phiên bản 2.3.0.0 của FSharp.Core là để sử dụng với .NET 2.0 (và 3.0 và 3.5, là (về cơ bản) các phiên bản mở rộng của .NET 2.0); phiên bản 4.3.0.0 dành cho .NET 4.0 và 4.5.
  • Phiên bản mới nhất của F # là F # 3.0. Đây là phiên bản được gửi kèm với Visual Studio 2012. LƯU Ý: Tại đây, 3.0 là phiên bản ngôn ngữ, không liên quan gì đến phiên bản .NET Framework bạn muốn chạy. Kho lưu trữ F # trên GitHub sử dụng thẻ sửa đổi (nghĩa là, .25 một phần của 3.0.25) để dễ dàng hơn để biết liệu bạn có cần cập nhật lên phiên bản mới hơn hay không; các thay đổi thường chỉ xây dựng các kịch bản, trình cài đặt, v.v. - nhưng hiếm khi chúng thay đổi thành trình biên dịch và/hoặc các thư viện F #.
  • Nếu bạn xây dựng mã từ kho lưu trữ F # GitHub và phiên bản FSharp.Core được biên dịch có phiên bản 3.0.25, vui lòng mở một vấn đề mới về Github về điều này - nó sẽ có cùng số phiên bản với số "đúng" F # thư viện từ Microsoft. Sự khác biệt duy nhất nên ở trong khóa công khai mà các hội đồng được ký kết.
  • Tôi không biết tại sao các phiên bản mới không có trên NuGet - nó có lẽ chỉ bị lãng quên. Tôi sẽ mở một vấn đề về điều này ngay bây giờ để đảm bảo rằng chúng được thêm vào càng sớm càng tốt.
+0

Cảm ơn bạn đã trả lời câu hỏi của tôi nhanh chóng và rõ ràng. –