क्या "डॉटनेट नया एसएलएन" एक नई कमांड है?
हाँ। डॉटनेट कमांड लाइन इंटरफ़ेस के संस्करण 1.0.1 में, एक dotnet new sln
कमांड है। कमांड प्रोजेक्ट से बदलकर आई। json से csproj । यदि हम चलते हैं dotnet new --help
, तो हम "समाधान फ़ाइल" को एक टेम्पलेट के रूप में देखेंगे।
> dotnet new --help
Templates Short Name Language Tags
----------------------------------------------------------------------
Console Application console [C#], F# Common/Console
Class library classlib [C#], F# Common/Library
Unit Test Project mstest [C#], F# Test/MSTest
xUnit Test Project xunit [C#], F# Test/xUnit
ASP.NET Core Empty web [C#] Web/Empty
ASP.NET Core Web App mvc [C#], F# Web/MVC
ASP.NET Core Web API webapi [C#] Web/WebAPI
Solution File sln Solution
मुझे इसका उपयोग कब करना चाहिए?
समाधान फ़ाइल का उपयोग करने के लिए दो बार हैं:
- जब हम Visual Studio, और / या का उपयोग करना चाहते हैं
- जब हम एक ही इकाई के रूप में कई परियोजनाओं का प्रबंधन करना चाहते हैं।
प्रोजेक्ट फाइल रखने के बजाय .sln फाइल बनाने से मुझे क्या लाभ होगा? क्या यह मुख्य रूप से विजुअल स्टूडियो में खुलने के लिए है? मैं मैक के लिए विज़ुअल स्टूडियो कोड का उपयोग करता हूं, इसलिए यह लागू नहीं हो सकता है।
विजुअल स्टूडियो की आवश्यकता वाले लाभों में से एक एकल इकाई के रूप में कई परियोजनाओं का प्रबंधन है।
उदाहरण के लिए, मैक पर विजुअल स्टूडियो कोड के साथ, हम dotnet
एक नया समाधान बनाने के लिए सीएलआई का उपयोग कर सकते हैं, कुछ प्रोजेक्ट बना सकते हैं, उन परियोजनाओं को समाधान में जोड़ सकते हैं, समाधान को पुनर्स्थापित कर सकते हैं और समाधान का निर्माण कर सकते हैं।
dotnet new sln --name FooBar
dotnet new console --name Foo --output Foo
dotnet new console --name Bar --output Bar
dotnet sln add .\Foo\Foo.csproj
dotnet sln add .\Bar\Bar.csproj
dotnet restore
dotnet build FooBar.sln
अंतिम कमांड, जिसे कॉल किया जाता है dotnet build
, सभी परियोजनाओं के निर्माण का लाभ होता है जो समाधान में हैं। समाधान के बिना, हमें dotnet build
प्रत्येक प्रोजेक्ट पर कॉल करना होगा ।
इसमें कोई संदेह नहीं है कि अन्य लाभ हैं जिन्हें विजुअल स्टूडियो के उपयोग की आवश्यकता नहीं है। मैं खोज करने के लिए आपको छोड़ देता हूं।
dotnet
कमांड लाइन से आप किस संस्करण का उपयोग कर रहे हैं? यानी जब आप लिखते हैं तो आप क्या देखते हैंdotnet --version
?