# Target Framework और Language Version — .NET Core: वेब API बनाएँ, टेस्ट करें और शिप करें

Source: https://www.geekswithgeeks.com/hi/dotnet-core/proj-target-frameworks

> Target framework चुनें और समझें कि C# language version उसका अनुसरण कैसे करता है।

## TargetFramework

`net10.0` जैसा `TargetFramework` बताता है कि प्रोजेक्ट कौन-से .NET APIs उपयोग कर सकता है। Production के लिए Long-Term Support (LTS) release चुनें क्योंकि उसे patches ज़्यादा समय तक मिलते हैं।

## आपस में जुड़े हिस्से

Solution कई projects को समूहित करता है, projects एक-दूसरे को reference करते हैं, और NuGet बाहरी libraries देता है।

![क्रम से जुड़े solution, project और NuGet package।](assets/figures/dotnet-core/section-3-map.svg) — चित्र 3.1 — Solution, projects और packages।

## Library को multi-target करना

एक shared library कई frameworks के लिए एक साथ build हो सकती है। बहुवचन `TargetFrameworks` पर ध्यान दें।

```xml
<PropertyGroup>
  <TargetFrameworks>net8.0;net10.0</TargetFrameworks>
</PropertyGroup>
```

## Language version framework के साथ चलता है

हर target framework का एक डिफ़ॉल्ट C# version होता है, इसलिए `LangVersion` खुद कम ही सेट करना पड़ता है। पुराने framework पर नया version ज़बरदस्ती लगाने से runtime-सपोर्ट वाले features टूट सकते हैं।

**Quiz:** Production के लिए LTS release क्यों चुनें?

- [x] इसे fixes लंबे समय तक मिलते हैं
- [ ] यह हमेशा तेज़ होता है
- [ ] इसे SDK नहीं चाहिए
- [ ] सिर्फ़ यही Linux पर चलता है

*Answer:* इसे fixes लंबे समय तक मिलते हैं. LTS releases ज़्यादा समय तक supported रहते हैं, जिससे ज़बरदस्ती upgrades कम होते हैं।
