रिक स्ट्राल के पोस्ट से साझा करना: आपको कौन सी .NET कोर रनटाइम डाउनलोड की आवश्यकता है?
केवल .NET कोर रनटाइम को एक एप्लिकेशन चलाने के लिए आवश्यक है और इंस्टॉल के बारे में जानकारी प्रदान करता है।
एक आवेदन को विकसित करने, बनाने और प्रकाशित करने के लिए एक एसडीके की आवश्यकता होगी।
dotnet.exe
एक रनटाइम इंस्टाल के साथ स्थापित करता है, लेकिन यह केवल एप्लिकेशन को चलाने के लिए जानकारी प्रदान करने के लिए मुख्य सुविधाएँ प्रदान करता है और इंस्टॉल के बारे में जानकारी प्रदान करता है: और । एसडीके स्थापित करने के लिए आपको कुछ भी बनाने, प्रकाशित करने या करने की आवश्यकता है।dotnet mydll.dll
dotnet --info
निम्नलिखित कमांड चलाने से इंस्टॉल के बारे में जानकारी मिलेगी:
dotnet --info
यदि कमांड विफल हो जाती है तो इसका मतलब है कि आपके पास .NET कोर रनटाइम सिस्टम में स्थापित या उपलब्ध नहीं है।
नीचे कमांड का एक नमूना आउटपुट है।
$ dotnet --info
.NET Core SDK (reflecting any global.json):
Version: 2.2.101
Commit: 236713b0b7
Runtime Environment:
OS Name: Mac OS X
OS Version: 10.13
OS Platform: Darwin
RID: osx.10.13-x64
Base Path: /usr/local/share/dotnet/sdk/2.2.101/
Host (useful for support):
Version: 2.2.0
Commit: 1249f08fed
.NET Core SDKs installed:
2.1.4 [/usr/local/share/dotnet/sdk]
2.1.302 [/usr/local/share/dotnet/sdk]
2.2.101 [/usr/local/share/dotnet/sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.2 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.2 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.0.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.2 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
आउटपुट आपको बताता है:
- स्थापित एसडीके संस्करण
- सक्रिय रनटाइम संस्करण जो इस डॉटनेट कमांड को चला रहा है
- सभी स्थापित रनटाइम्स और एसडीके की एक सूची
SDK इंस्टॉल करने से रनटाइम भी इंस्टॉल हो जाता है।
macOS होमब्रेव विशिष्ट
होमब्रेव-कास्क डॉटनेट स्थापित करना, डॉटनेट-एसडीके के साथ संघर्ष करेगा , इसलिए रनटाइम दोनों प्राप्त करने के लिए, और एसडीके डॉटनेट-एसडीके स्थापित करें
brew cask install dotnet-sdk
संक्षेप में, रनटाइम आपके OS को संकलित C-Sharp , C # प्रोग्राम चलाने की अनुमति देगा , और sdk आपको C-Sharp , C # में लिखे प्रोग्राम को संकलित करने की अनुमति देगा ।
यह समझना महत्वपूर्ण है कि आपके पास कई रनटाइम और कई एसडीके स्थापित हो सकते हैं और प्रत्येक प्रोजेक्ट एक अलग का उपयोग कर सकता है। रनटाइम .csproj
फ़ाइल में आपके प्रोजेक्ट के रनटाइम स्पेसियर द्वारा निर्धारित किया जाता है :
<TargetFramework>netcoreapp2.1</TargetFramework>
एसडीके या तो अंतिम विश्व स्तर पर स्थापित एसडीके है जो डिफ़ॉल्ट है, या आप समाधान रूट फ़ोल्डर में रखे गए Global.json में एसडीके को स्पष्ट रूप से ओवरराइड कर सकते हैं। निम्नलिखित आरटीएम संस्करण के बजाय अंतिम आरसी एसडीके का उपयोग करने के लिए मेरी परियोजना को स्पष्ट रूप से मजबूर करता है:
{
"sdk": {
"version": "2.1.300-rc.31211"
}
}
आम तौर पर, एक विशिष्ट निचले एसडीके संस्करण का उपयोग करने की आवश्यकता नहीं होनी चाहिए क्योंकि एसडीके पीछे की ओर संगत है और .NET कोर ऐपेटिनो के विभिन्न संस्करणों को v1.0 पर वापस संकलित कर सकता है। IOW, लगभग सभी मामलों में नवीनतम SDK का उपयोग करना ठीक है।
.NET कोर रूंटिम्स
.NET Core Runtimes सबसे छोटे स्व-निहित और विशिष्ट घटक होते हैं और किसी विशिष्ट प्लेटफ़ॉर्म पर .NET .NET चलाने के लिए पूर्ण न्यूनतम होते हैं।
ध्यान दें कि रनटाइम इंस्टॉल में ASP.NET कोर मेटा पैकेज रनटाइम निर्भरता शामिल नहीं है, इसलिए यदि आपका एप्लिकेशन Microsoft.AspNetCore.App या Microsoft.AspNetCore को संदर्भित करता है। तो आपको ASP.NET कोर पैकेज को अलग से डाउनलोड करना होगा। हालाँकि, यदि आप मेटा पैकेज का उपयोग करने के बजाय सभी ASP.NET Core Nuget संकुल को स्पष्ट रूप से संदर्भित करते हैं, तो उन पैकेजों को आपके आवेदन के हिस्से के रूप में तैनात किया जाता है और यह केवल रनटाइम के साथ चल सकता है।
अनिवार्य रूप से आप इंस्टालेशन पैकेज साइज बनाम रनटाइम प्री-इंस्टॉल्ड आवश्यकता के अनुसार व्यापार कर रहे हैं।
संदर्भ: