.NET कोर - "डॉटनेट नया स्ल्न" का उपयोग कब करें


86

मैं थोड़ा भ्रमित हूं - .NET कोर ट्यूटोरियल के अधिकांश भाग जो मैं पढ़ रहा हूं, उन्होंने "डॉटनेट नई स्लेन" का उल्लेख नहीं किया है - वे हमेशा एक साथ लिंक करने के लिए किसी भी समाधान फ़ाइल के बिना अलग से प्रोजेक्ट बनाते हैं।

  1. क्या "डॉटनेट नया एसएलएन" एक नई कमांड है?

  2. मुझे इसका उपयोग कब करना चाहिए? प्रोजेक्ट फाइल रखने के बजाय .sln फाइल बनाने से मुझे क्या लाभ होगा? क्या यह मुख्य रूप से विजुअल स्टूडियो में खुलने के लिए है? मैं मैक के लिए विज़ुअल स्टूडियो कोड का उपयोग करता हूं, इसलिए यह लागू नहीं हो सकता है।

मैंने "dotnet new sln" को googled किया है और परिणाम बहुत कम हैं।


dotnetकमांड लाइन से आप किस संस्करण का उपयोग कर रहे हैं? यानी जब आप लिखते हैं तो आप क्या देखते हैं dotnet --version?
शॉन लुटिन

Hi @ShaunLuttin मैंने अभी कुछ दिन पहले अपग्रेड किया था ... 1.0.1
AndyNZ

जवाबों:


145

क्या "डॉटनेट नया एसएलएन" एक नई कमांड है?

हाँ। डॉटनेट कमांड लाइन इंटरफ़ेस के संस्करण 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

मुझे इसका उपयोग कब करना चाहिए?

समाधान फ़ाइल का उपयोग करने के लिए दो बार हैं:

  1. जब हम Visual Studio, और / या का उपयोग करना चाहते हैं
  2. जब हम एक ही इकाई के रूप में कई परियोजनाओं का प्रबंधन करना चाहते हैं।

प्रोजेक्ट फाइल रखने के बजाय .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प्रत्येक प्रोजेक्ट पर कॉल करना होगा ।

इसमें कोई संदेह नहीं है कि अन्य लाभ हैं जिन्हें विजुअल स्टूडियो के उपयोग की आवश्यकता नहीं है। मैं खोज करने के लिए आपको छोड़ देता हूं।


क्या आप किसी क्लास लाइब्रेरी प्रोजेक्ट और उससे जुड़े टेस्ट प्रोजेक्ट के लिए समाधान का उपयोग करने की सलाह देंगे?
होरिया कोमन

@HorComan यह उस के लिए एक समाधान का उपयोग करने के लिए उचित लगता है, हाँ।
शॉन लुटिन

क्या हम dotnet run -p Foo\Foo.csprojmvc प्रोजेक्ट्स के लिए उपयोग कर सकते हैं? केवल तभी काम करता है जब मैं करता हूंcd Foo && dotnet run
विन्सेन्ट डी स्मेट

@VincentDeSmet dotnet run -p .\Foo\Foo.csprojमेरे लिए काम करता है।
शॉन लुटिन

यह एक config.Development.json नहीं होने के बारे में शिकायत कर रहा था जो मेरे लिए सबफ़ोल्डर में था
विंसेंट डी स्मेट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.