Fsharp.Core का सही संस्करण

मैं विजुअल स्टूडियो 2013 अल्टीमेट के साथ एक एफ # कंसोल एप्लिकेशन बना रहा हूं। लक्ष्य ढांचा .NET 4.5 है

FSharp.Core का संस्करण मेरे कंप्यूटर पर स्थापित (संभवतः वीएस 2013 स्थापित करके) 4.3.1.0 है।

NuGet पर FSharp.Core के दो संस्करण हैं, 4.0.0 अप्रैल 12, 2012 को प्रकाशित और एक 5 मार्च, 2013 को प्रकाशित Fsharp.Core.3 verison 0.0.2 की एक आईडी के साथ।

मैं मार्गदर्शन के लिए देख रहा हूं कि जब इनमें से प्रत्येक संस्करण का उपयोग करना चाहिए, तो संस्करण संख्या मुझे भ्रमित कर रही है और मुझे NuGet पर नवीनतम उत्पादन रिलीज मिलने की उम्मीद होगी।

क्या मैं कुछ भूल रहा हूँ?

28

2 उत्तर

आपको FSharp प्राप्त नहीं करना चाहिए। Nuget से अधिक। माइक्रोसॉफ्ट आज किसी भी आधिकारिक एफ # बिट्स को प्रकाशित करने के लिए प्रकाशित नहीं करता है (हालांकि यह भविष्य में संभावित रूप से बदल सकता है)। तृतीय-पक्ष पैकेजों के लिए यह सामान्य है बंडल FSharp.Core (संभवतः वह संस्करण है जो उस तृतीय पक्ष घटक के परीक्षण/सत्यापन के लिए उपयोग किया जाता है), लेकिन वर्तमान में nuget को एक तंत्र के रूप में उपयोग नहीं किया जाना चाहिए FSharp.Core अद्यतन या नए संस्करण।

FSharp.Core के लिए संस्करण की कहानी दुखद रूप से जटिल है, और निश्चित रूप से उतनी सरल नहीं है जितनी "उच्च संस्करण का अर्थ है नया।" एहसास करने की एक महत्वपूर्ण बात यह है कि 2 अक्ष हैं - क्या F # संस्करण रनटाइम समर्थन करता है, और .NET Framework संस्करण/प्रोफ़ाइल क्या लक्षित करती है।

नीचे आधिकारिक FSharp.Core संस्करण हैं जो वीएस 2013 के साथ शिप करते हैं (इन्हें % प्रोग्रामफाइल (x86)% \ संदर्भ असेंबली \ Microsoft \ FSharp के अंतर्गत छोड़ दिया गया है)।

  • 4.3.1.0 (F# 3.1/.NET 4) This is the most recent official version. Unless you have a requirement to target .NET 2, or you are using some legacy F# component that won't work with 3.1, this is the version you should use for any new desktop app.
  • 4.3.0.0 (F# 3.0/.NET 4) These are the same bits that shipped with VS 2012. It is included so that you can continue working on F# 3.0 projects in VS 2013 without retargeting them to 3.1. You should use this if you have a legacy F# 3.0 desktop project that you are not ready to move to 3.1 yet.
  • 2.3.0.0 (F# 3.0/.NET 2) These are the same bits that shipped with VS 2012. The only reason to use this is if you are targeting .NET 2. The .NET 2 side of things is not being developed further, btw - new features, versions, etc will be done for FSharp.Core targeting .NET 4+; the .NET 2 FSharp.Core is still fully supported, but it is frozen.
  • 3.3.1.0 (F# 3.1/"Portable") This version targets .NET portable profile 7 (.NET 4.5/Windows Store). Use this if you are creating a component for a Windows store app and you don't care about Silverlight. This profile is newly supported in VS 2013.
  • 2.3.5.1 (F# 3.1/"Portable (Legacy)") This version targets .NET portable profile 47 (.NET 4/Silverlight 5/Windows Store). Use this if you are creating a Silverlight component. This profile was also supported in VS 2012, and referred to at that time as simply "Portable."
  • 2.3.5.0 (F# 3.0/"Portable (Legacy)") This version targets .NET portable profile 47 (.NET 4/Silverlight 5/Windows Store). These are the same bits that were included in VS 2012. Included in VS 2013 to enable you to continue working on F# 3.0 portable/silverlight projects.

.NET पोर्टेबल प्रोफाइल एक बड़ी पिटा हैं और जटिलता का एक टन का कारण बनता है। इस साइट को समझने में सहायता के लिए एक अच्छा सारांश है: http://ब्लॉग .stephencleary.com/2012/05/ढांचा-प्रोफाइल में net.html

तो आपके विशिष्ट परिदृश्य (नया कंसोल ऐप) के लिए 4.3.1.0 का उपयोग करें।

7/2015 संपादित करें:

यहां एक सारणी है जो शायद ऊपर की पाठ की दीवार से बेहतर कहानी बताती है। मैंने संस्करण संख्याओं के लिए प्रेरणा को इंगित करने के लिए रंगों का उपयोग करने का प्रयास किया है। आप देखेंगे कि पोर्टेबल पुस्तकालयों का संस्करण थोड़ा सा विज्ञापन और वीएस 2012 और 2013 में असंगत था, लेकिन अंततः वीएस 2015 के साथ शुरूआती और अनुमानित शुरुआत है। यह अभी तक जारी है F # 4.0, जो अभी जारी है।

enter image description here

48
जोड़ा
क्या कुछ संक्षिप्त शब्द पीआईटीए?
जोड़ा लेखक fahadash, स्रोत
ए में दर्द ...
जोड़ा लेखक latkin, स्रोत

Today I would probably rather follow these guidelines

In short, you can/should reference FSharp.Core from NuGet

4
जोड़ा