। নেট কোরে এসডিকে এবং রানটাইমের মধ্যে পার্থক্য কী?


93

আমি এই নিবন্ধ সহ অনেক নিবন্ধ পড়েছি , তবুও আমি এখনও পার্থক্যটি বুঝতে পারি না এবং তারা এটি সহজ ভাষায় বা মোটেই ব্যাখ্যা করেনি।

NET SDK এবং .NET রানটাইমের মধ্যে পার্থক্য কি দয়া করে কেউ স্পষ্ট করে বলতে পারেন?

আপডেট: তুলনা ব্যবহার করা খুব প্রশংসিত হবে। সরল ইংরাজির পাশাপাশি সাদৃশ্য উচ্চ শিক্ষামূলক।

উত্তর:


54

নেট কোর গাইড অনুসারে। নেট নেট নিম্নলিখিত আইটেমগুলির সমন্বয়ে গঠিত

  • একটি। নেট রানটাইম, যা একটি টাইপ সিস্টেম, সমাবেশ লোডিং, একটি আবর্জনা সংগ্রহকারী, নেটিভ ইন্টারপ এবং অন্যান্য প্রাথমিক পরিষেবা সরবরাহ করে services
  • ফ্রেমওয়ার্ক লাইব্রেরির একটি সেট, যা আদিম ডেটা ধরণের, অ্যাপ সংমিশ্রণের ধরণ এবং মৌলিক উপযোগীতা সরবরাহ করে।
  • .NET কোর এসডিকে উপলভ্য বেস বিকাশকারী অভিজ্ঞতা সক্ষম করে এমন এসডিকে সরঞ্জাম এবং ভাষা সংকলকগুলির একটি সেট।
  • 'ডটনেট' অ্যাপ হোস্ট, যা। নেট কোর অ্যাপ্লিকেশন চালু করতে ব্যবহৃত হয় launch এটি রানটাইম নির্বাচন করে এবং রানটাইম হোস্ট করে, অ্যাসেম্বলি লোডিং নীতি সরবরাহ করে এবং অ্যাপ্লিকেশন চালু করে। একই হোস্টটি এসডিকে সরঞ্জামগুলি একইভাবে চালু করতে ব্যবহৃত হয়।

এসডিকে হ'ল প্রয়োজনীয় সামগ্রীর মধ্যে একটি। নেট নেট অ্যাপ্লিকেশন বিকাশকে সহজ করে তোলে যেমন সি এল আই এবং একটি সংকলক।

রানটাইম হ'ল "ভার্চুয়াল মেশিন" যা অ্যাপ্লিকেশনটি হোস্ট / চালায় এবং বেস অপারেটিং সিস্টেমের সাথে সমস্ত মিথস্ক্রিয়া বিমূর্ত করে দেয়।

অ্যাপ্লিকেশনটি চালানোর জন্য কেবল পরেরটির প্রয়োজন হয় তবে অ্যাপ্লিকেশনটি বিকাশের জন্য পূর্বেরটির প্রয়োজন।


9
এর অর্থ কী যে ব্যবহারকারীর অ্যাপ্লিকেশন বিকাশের জন্য উভয়ই (এসডিকে + রানটাইম) ইনস্টল করতে হবে বা এর অর্থ এসডিকে কেবল রানটাইম থাকার কারণে প্রয়োজন?
পুচাক্জ

4
@ পুচাক্স আমি কেবল এসডিকে ইনস্টলারটি ডাউনলোড করেছি এবং এটিতে কোর রানটাইম এবং এসপি নেট নেট রানটাইমও রয়েছে।
ফ্রেঙ্কন

4
এটা আমার বোধগম্য হলো না। সিআইএলিকে একটি 'ফ্রেমওয়ার্ক নির্ভরশীল' এক্সিকিউটেবল কার্যকর করার জন্য আহ্বান জানানো হয়, dotnet myapp.dllযদি ক্লাই্টকে কোনও অ্যাপ চালানোর প্রয়োজন হয় তবে পৃথিবীতে কীভাবে এটি রানটাইমের অংশ হতে পারে না ?
নিউট্রিনো

4
মূল গ্রন্থাগারগুলি রানটাইম বা এসডিকে অংশ কিনা তাও উত্তর দেয় না।
নিউট্রিনো

40

রানটাইম : অ্যাপস চালানোর জন্য

এসডিকে (রানটাইম + টুলিং) : অ্যাপ্লিকেশনগুলি তৈরি এবং চালানোর জন্য


4
আমার একটি প্রশ্ন আছে, ভিজ্যুয়াল স্টুডিও থেকে আমার অ্যাপটি চালানোর আগে, এটি ঠিক তৈরি করা দরকার? তারপরে আমার সর্বদা কেবল রানটাইমের পরিবর্তে এসডিকে দরকার।
সমীর

4
সংকলিত ভাষাগুলি প্রথমে তৈরি করা দরকার। আপনি কোন আইডিই ব্যবহার করেন না কেন, এসডিকে একটি অ্যাপ্লিকেশনে উত্স কোডটি তৈরি করতে হবে।
TZU

রানটাইমটি আসলে এসডিকে বা রানটাইমটি এসডিকে ইনস্টলারের অংশ হিসাবে কেবল এসডিকে প্যাকেজড?
ফ্রাঙ্ক লিউ

34

আমি এখানে কিছু আবিষ্কার করছি না। Https://www.microsoft.com/net/download থেকে সংজ্ঞাগুলি কেবল কপি-পেস্ট করুন

এখানে চিত্র বর্ণনা লিখুন

সফ্টওয়্যার ডেভলপমেন্ট কিট ( এসডিকে ) আপনার কমান্ড লাইন সরঞ্জাম এবং কোনও সম্পাদক (ভিজুয়াল স্টুডিও সহ) ব্যবহার করে .NET কোর অ্যাপ্লিকেশনগুলি তৈরি এবং চালনার জন্য যা কিছু প্রয়োজন তা অন্তর্ভুক্ত করে।

রানটাইম শুধু বিদ্যমান .NET কোর অ্যাপ্লিকেশন চালানোর জন্য প্রয়োজনীয় সম্পদ অন্তর্ভুক্ত করা হয়েছে। রানটাইমটি এসডিকে অন্তর্ভুক্ত রয়েছে।


9

রিক স্ট্রহলের পোস্ট থেকে ভাগ করা: কোন। নেট কোর রানটাইম ডাউনলোড আপনার প্রয়োজন?

একটি অ্যাপ্লিকেশন চালানোর জন্য শুধুমাত্র। নেট কোর রানটাইম প্রয়োজন হয় এবং ইনস্টল সম্পর্কে তথ্য সরবরাহ করে।

একটি অ্যাপ্লিকেশন বিকাশ, বিল্ড এবং প্রকাশ করতে একটি এসডিকে প্রয়োজন।

dotnet.exeএকটি রানটাইম ইনস্টল সহ ইনস্টল করে, তবে এটি কেবল অ্যাপ্লিকেশন চালানোর জন্য তথ্য সরবরাহ এবং ইনস্টল সম্পর্কে তথ্য সরবরাহ করার জন্য মূল বৈশিষ্ট্যগুলি সরবরাহ করে: এবং । আপনার এসডিকে ইনস্টল করতে প্রয়োজন অন্য কিছু তৈরি করতে, প্রকাশ করতে বা করতে।dotnet mydll.dlldotnet --info

নিম্নলিখিত কমান্ডটি চালনা করা ইনস্টল সম্পর্কে তথ্য সরবরাহ করবে:

dotnet --info

কমান্ডটি ব্যর্থ হলে এর অর্থ আপনার কাছে .NET কোর রানটাইম ইনস্টল নেই বা সিস্টেমের PATH এ উপলব্ধ।

নীচে কমান্ডের একটি নমুনা আউটপুট দেওয়া হল।

$ 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

আউটপুট আপনাকে বলে:

  • ইনস্টল করা এসডিকে সংস্করণ
  • সক্রিয় রানটাইম সংস্করণ যা এই ডটনেট কমান্ডটি চালাচ্ছে
  • সমস্ত ইনস্টল করা রানটাইম এবং এসডিকে একটি তালিকা

এসডিকে ইনস্টল করা রানটাইমও ইনস্টল করে।


ম্যাকোস হোমব্রিউ নির্দিষ্ট

হোমব্রু-ক্যাস্ক ডটনেট ইনস্টল করা ডটনেট-এসডকের সাথে দ্বন্দ্ব করবে , সুতরাং রানটাইম এবং এসডিকে উভয়ই ডটনেট-এসডিকে ইনস্টল করুন

brew cask install dotnet-sdk

সংক্ষেপে, রানটাইমটি আপনার ওএসকে সংকলিত সি-শার্প , সি # প্রোগ্রামগুলি চালানোর অনুমতি দেবে এবং এসডিকে আপনাকে সি-শার্প , সি # তে লিখিত প্রোগ্রামগুলি সংকলনের অনুমতি দেবে ।


এটি আপনার কাছে একাধিক রানটাইম এবং একাধিক এসডিকে ইনস্টল থাকতে পারে এবং প্রতিটি প্রকল্প আলাদা আলাদা ব্যবহার করতে পারে তা বোঝা গুরুত্বপূর্ণ। রানটাইমটি .csprojফাইলের আপনার প্রকল্পের রানটাইম নির্দিষ্টকারী দ্বারা নির্ধারিত হয় :

<TargetFramework>netcoreapp2.1</TargetFramework>

এসডিকে হয় সর্বশেষে বিশ্বব্যাপী ইনস্টল করা এসডিকে যা পূর্বনির্ধারিত হয়, বা আপনি স্পষ্টরূপে এসডিকে সমাধানের ফোল্ডারে স্থাপন করা একটি গ্লোবাল.জেসনে ওভাররাইড করতে পারেন। নিম্নলিখিতটি স্পষ্টভাবে আমার প্রকল্পটিকে আরটিএম সংস্করণের পরিবর্তে সর্বশেষ আরসি এসডিকে ব্যবহার করতে বাধ্য করেছে:

{
 "sdk": {
   "version": "2.1.300-rc.31211"
 }
}

সাধারণত, একটি নির্দিষ্ট নিম্ন এসডিকে সংস্করণ ব্যবহার করার দরকার নেই কারণ এসডিকে পিছনের দিকে সামঞ্জস্যপূর্ণ এবং। নেট কোর অ্যাপ্ল্যাটিটিনোর বিভিন্ন সংস্করণকে ভি 1.0-তে সংকলন করতে পারে। IOW, প্রায় সব ক্ষেত্রে সর্বশেষতম এসডিকে ব্যবহার করা ঠিক আছে।

.NET কোর রানটাইমস

.NET কোর রানটাইমগুলি হ'ল ক্ষুদ্রতম স্ব-অন্তর্নিহিত এবং নির্দিষ্ট উপাদান এবং নির্দিষ্ট প্ল্যাটফর্মে কেবলমাত্র নেট নেট চালানোর জন্য পরম সর্বনিম্ন থাকে।

মনে রাখবেন একটি রানটাইম ইনস্টলটিতে ASP.NET কোর মেটা প্যাকেজ রানটাইম নির্ভরতা অন্তর্ভুক্ত নয়, সুতরাং আপনার অ্যাপ্লিকেশনটি যদি Microsoft.AspNetCore.app বা Microsoft.AspNetCore উল্লেখ করে ll তবে, আপনি যদি মেটা প্যাকেজগুলি ব্যবহার না করে স্পষ্টভাবে সমস্ত এএসপি.নেট কোর নিউজ প্যাকেজগুলি উল্লেখ করেন তবে those প্যাকেজগুলি আপনার আবেদনের অংশ হিসাবে স্থাপন করা হয়েছে এবং এটি কেবল রানটাইম দিয়ে চালানো যেতে পারে।

মূলত আপনি ইনস্টলেশন প্যাকেজ আকার বনাম একটি রানটাইম প্রাক ইনস্টল প্রয়োজনীয়তা ট্রেডিং করছেন।

তথ্যসূত্র:


Microsoft.AspNetCore.Appরানটাইমের অধীনে তালিকাভুক্ত কেন ? আমি ভেবেছিলাম সিএলআর রানটাইম হবে?
রোবট্রন

@ রবোট্রন আপনি ঠিক বলেছেন শুধুমাত্রshared/Microsoft.NETCore.App/<runtime version> রানটাইম। shared/Microsoft.AspNetCore.{App,All}/<aspnetcore version>ASP.NET কোর লাইব্রেরি রয়েছে। ডকস.মাইক্রোসফট.ওন
ডটনেট /

2

এসডিকে হ'ল প্রয়োজনীয় সামগ্রীর মধ্যে একটি। নেট নেট অ্যাপ্লিকেশন বিকাশকে সহজ করে তোলে যেমন সি এল আই এবং একটি সংকলক।

রানটাইম হ'ল "ভার্চুয়াল মেশিন" যা অ্যাপ্লিকেশনটি হোস্ট / চালায় এবং বেস অপারেটিং সিস্টেমের সাথে সমস্ত মিথস্ক্রিয়া বিমূর্ত করে দেয়।


2

এখানে চিত্র বর্ণনা লিখুন

সংক্ষিপ্তসার হিসাবে: আপনি যদি এসডিকে ইনস্টল করেন তবে অ্যাপ্লিকেশনটি বিকাশ এবং চালনার জন্য আপনার প্রয়োজনীয় সমস্ত কিছুই থাকবে।


0

এসডিকে সাধারণত ডকুমেন্টেশন এবং অন্যান্য সহায়তা ফাইল অন্তর্ভুক্ত থাকে। রানটাইমটিতে ইনস্টলেশনের জন্য কেবল বাইনারি ফাইল থাকে।


4
তুমি কি নিশ্চিত? এটি এর চেয়ে অনেক বেশি ইনস্টল করে।
এমিল

এসডিকে এমন সরঞ্জামগুলি রয়েছে যা একটি নেট নেট অ্যাপ্লিকেশন, যেমন সংকলককে বিকাশে সহায়তা করে। রানটাইম একটি। নেট কোর অ্যাপ্লিকেশন হোস্ট করে এবং অন্তর্নিহিত ওএসের সাথে সমস্ত মিথস্ক্রিয়া পরিচালনা করে।
সৈয়দ ওয়াকাস

0

আপনার কাছে কেবল। নেট কোর রানটাইম ইনস্টলড থাকলে আপনি ডটনেট - ইনফো থেকে নিম্নলিখিত ফলাফলটি পাবেন

>PS C:\Users\Administrator> dotnet --info
>
>Host (useful for support):
>  Version: 2.2.3
>  Commit:  6b8ad509b6 
>
>.NET Core SDKs installed:
>  No SDKs were found.
>
>.NET Core runtimes installed:
>  Microsoft.NETCore.App 2.2.3 [C:\Program 
>Files\dotnet\shared\Microsoft.NETCore.App]

0

রানটাইম যথেষ্ট যদি আমরা হার্ডওয়্যারটিতে কেবল অ্যাপ্লিকেশন চালাতে চাই না, অন্যথায় বিকাশ ও চালনার জন্য আমাদের এসডিকে প্রয়োজন (যার মধ্যে রানটাইম এবং সরঞ্জামাদি অন্তর্ভুক্ত)।এখানে চিত্র বর্ণনা লিখুন


0

সহজ ভাষায়, আমার বোঝার হিসাবে এবং নিবন্ধ থেকে রেফারেন্স https://karthikekblog.com/net-core-sdk-vs-runtime-vs-hosting-bundle/

। নেট এসডিকে - এটিতে নেট অ্যাপ্লিকেশন তৈরি করা, চালানো ও প্রকাশনা করা থেকে শুরু করে আপনার প্রয়োজনীয় সমস্ত কিছুই অন্তর্ভুক্ত। এটি খাঁটি বিকাশের পরিবেশের প্রয়োজন, সুতরাং বিকাশকারীরা স্ক্র্যাচ থেকে অ্যাপ্লিকেশনটি বিকাশ করতে পারে এবং অ্যাপ্লিকেশনটি বিল্ড, ডিবাগ এবং চালাতে পারে।

রানটাইম - এটিতে কেবলমাত্র .NET কোর অ্যাপ্লিকেশনগুলি চালনার প্রয়োজন হয়। সুতরাং এটি সার্ভার সাইডে ইনস্টল করা যেতে পারে যেখানে আপনি অ্যাপ্লিকেশনটি নিযুক্ত করেন এবং বিল্ডস এবং ডিবাগগুলি প্রয়োজন হয় না। এটি পৃথকভাবে আইআইএস হোস্টিং উপাদান প্রয়োজন। পরিবর্তে আপনি উইন্ডোজ জন্য হোস্টিং বান্ডেল ব্যবহার করতে পারেন।


-1

আপনি যখন এসডিকে ইনস্টল করেন আপনি এতে রানটাইমও পাবেন। এটি নীচে দেখুন, আমরা এসডিকে ইনস্টল করার সময় এটি ইনস্টল হয়।

নিম্নলিখিতগুলি সি: \ প্রোগ্রাম ফাইল \ ডটনেট •। নেট কোর এসডিকে ২.২.১০০ •। নেট কোর রানটাইম ২.২.০ • এএসপি.নেট কোর রানটাইম ২.২.০ এ ইনস্টল করা হয়েছিল

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.