2012-10-24 17 views
66

पर काम कर रहा है मैं संदर्भ के रूप में http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#From_a_convention_based_working_directory का उपयोग कर एक nuget पैकेज बनाने की कोशिश कर रहा हूं। विजुअल स्टूडियो में मेरा पैकेज मैनेजर कंसोल मुझे 'nuget' कमांड का उपयोग करने की अनुमति नहीं दे रहा है। मैं 'गेट-हेल्प न्यूगेट' करने में सक्षम हूं और यह प्रदर्शित करता है:'nuget' पहचाना नहीं गया है लेकिन अन्य nuget कमांड

निम्नलिखित NuGet cmdlets शामिल हैं।

Cmdlet     Description 
    ------------------  ---------------------------------------------- 
    Get-Package    Gets the set of packages available from the package source. 

    Install-Package   Installs a package and its dependencies into the project. 

    Uninstall-Package  Uninstalls a package. If other packages depend on this package, 
          the command will fail unless the –Force option is specified. 

    Update-Package   Updates a package and its dependencies to a newer version. 

    Add-BindingRedirect  Examines all assemblies within the output path for a project 
          and adds binding redirects to the application (or web) 
          configuration file where necessary. 

    Get-Project    Returns a reference to the DTE (Development Tools Environment) 
          for the specified project. If none is specifed, returns the 
          default project selected in the Package Manager Console. 

    Open-PackagePage  Open the browser pointing to ProjectUrl, LicenseUrl or 
          ReportAbuseUrl of the specified package. 

    Register-TabExpansion Registers a tab expansion for the parameters of a command. 
  • बहरहाल, जब भी मैं आदेशों शुरू nuget साथ है देता है:

शब्द 'nuget' एक cmdlet, फ़ंक्शन का नाम, स्क्रिप्ट फ़ाइल, या प्रचलित कार्यक्रम के रूप में मान्यता प्राप्त नहीं है । नाम की वर्तनी जांचें, या यदि कोई पथ शामिल किया गया है, तो सत्यापित करें कि पथ सही है और ऐन का प्रयास करें।

लाइन पर

: 1 वर्ण: 6 + nuget < < < < + CategoryInfo: ObjectNotFound: (nuget: स्ट्रिंग) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException

मैं निम्नलिखित समाधान की कोशिश की है:

1> सभी आइटम को बंद और पुन: प्रारंभ

2> स्थापना रद्द करने और फिर से स्थापित करने

+०१२३५१६४१०६१

3> एक powershell प्रोफ़ाइल फ़ाइल (इस से पहले अस्तित्व में नहीं था और यह वास्तव में सब कुछ तोड़ दिया)

समस्या के बाद मैं अपने Visual Studio 2012 अंतिम परीक्षण संस्करण पंजीकृत करने के लिए उन्नत प्रकट करने के लिए शुरू कर दिया बनाने। मैं मूल रूप से वीएस 12 प्रो स्थापित किया था। मुझे नहीं पता कि वास्तव में इसके साथ क्या करने के लिए कुछ भी है, लेकिन मैंने देखा कि अन्य समस्याओं के समान बनाम 10 और 12 स्थापित हैं।

मेरा सवाल है "क्या किसी को पता है कि और क्या प्रयास करना है?" मेरा सिद्धांत यह है कि nuget कमांड का पथ गुम है लेकिन मुझे नहीं पता कि पैकेज प्रबंधक कंसोल का उपयोग करने वाले पथ को कैसे कॉन्फ़िगर किया जाए और मुझे यकीन नहीं है कि cmdlet nuget वास्तव में कहां संग्रहीत है।

अपडेट किया गया --- नीचे दिए गए कमांड लाइन टूल को डाउनलोड करने का प्रयास किया गया। यह फिर से काम करने के लिए कुछ भी नेतृत्व नहीं करता है। मैंने अनइंस्टॉल करने का प्रयास किया और अब मेरे पास nuget के लिए vs2010 सीमाओं में एक आइटम है जिसमें इंस्टॉल या अनइस्टल बटन सक्षम नहीं है। इससे मुझे विश्वास होता है कि इसे 2010 और 2012 के माध्यम से स्थापित एक्सटेंशन के साथ करना है, जो मेरे छोटे नाटक में हिस्सा है। अगर कोई भी अनइंस्टॉल करने योग्य एक्सटेंशन को कैसे बेकार करता है, तो कृपया सलाह दें लेकिन मैं इसके लिए एक और सवाल आज़माउंगा।

+1

क्या आपके पास यूएसी सक्षम है और आपने एक्सटेंशन को अनइंस्टॉल करने के लिए व्यवस्थापक के रूप में विजुअल स्टूडियो चलाने की कोशिश की है? – Betty

उत्तर

14

nuget कमांडलाइन उपकरण vsix फ़ाइल के साथ नहीं आता है, यह एक अलग डाउनलोड

https://github.com/nuget/home

+0

यह इस विशिष्ट प्रश्न का सबसे सही उत्तर है। – Brady

0

मैं nuget.exe खोजने और एक आसान करने के लिए आगे बढ़ (पथ टाइप करने के लिए ग द्वारा इस के आसपास मिल गया है: \ nuget \ nuget) और फिर इस पथ के साथ nuget बुलाओ। यह समस्या को हल करने लगता है। सी: पैकेज प्रबंधक कंसोल पर \ nuget \ nuget अपेक्षित के रूप में काम करता है। मैंने उस पथ को खोजने का प्रयास किया जो कंसोल का उपयोग कर रहा था और पर्यावरण पथ बदल रहा था लेकिन इसे इस तरह से काम करने में सक्षम नहीं था।

4

आप अपने न्यूजेट एक्सई के स्थान पर सिस्टम वैरिएबल पथ सेट करने और वीएस को पुनरारंभ करने का प्रयास भी कर सकते हैं।

  1. आपके सिस्टम PATH चर खोलें और अपने nuget.exe के स्थान को जोड़ने (मेरे लिए यह है: C:\Program Files (x86)\NuGet\Visual Studio 2013)
  2. पुनः प्रारंभ दृश्य स्टूडियो

मैं के लिए एक टिप्पणी के रूप में इस पोस्ट किया है अपनी answer @done_merson लेकिन मेरे पास ऐसा करने की आवश्यक प्रतिष्ठा नहीं थी।

97

Nuget.exe आपके प्रोजेक्ट के .nuget फ़ोल्डर पर रखा गया है। इसे सीधे पैकेज प्रबंधक कंसोल में निष्पादित नहीं किया जा सकता है, लेकिन पावरहेल कमांड द्वारा निष्पादित किया जाता है क्योंकि ये आदेश स्वयं के लिए कस्टम पथ बनाते हैं।

हल करने के लिए मेरे कदम हैं: https://github.com/NuGet/NuGet.Client/releases (give preference for the latest release) से

  • डाउनलोड NuGet.exe;
  • C:\Program Files\NuGet\Visual Studio 2012 (या आपका वीएस संस्करण) में NuGet.exe रखें;
  • पथ वातावरण चर में C:\Program Files\NuGet\Visual Studio 2012 जोड़ें (या अपने वी.एस. संस्करण) (instructions here) (क कैसे-के रूप में http://www.itechtalk.com/thread3595.html देखें)।
  • विजुअल स्टूडियो को बंद करें और खोलें।

अद्यतन

NuGet आसानी से अपनी परियोजना में स्थापित किया जा सकता निम्न आदेश का उपयोग कर:

स्थापित-पैकेज NuGet.CommandLine

+0

'परिवर्तनीय नाम' के रूप में क्या दर्ज किया जाना चाहिए? – Evgeny

+0

जैसा कि मैंने कहा, 'पथ'। –

+1

मुझे उसी ड्राइव पर nuget.exe रखना था जहां मैं nuget कमांड चला रहा था (और उसके अनुसार पैथ पर्यावरण परिवर्तनीय मान समायोजित करें) – mediafreakch

46

और भी बहुत कुछ कर रहे हैं इसे करने के लिए अच्छे तरीके।

  1. उस परियोजना में Nuget.Bild पैकेज स्थापित करें जिसे आप पैक करना चाहते हैं। स्थापित करने के बाद समाधान बंद करने और फिर से खोलने की आवश्यकता हो सकती है।
  2. चॉकलेट के माध्यम से nuget इंस्टॉल करें - बहुत अच्छा है। chocolatey स्थापित करें: https://chocolatey.org/, तो अपने कमांड प्रॉम्प्ट में चलाने

    Nuget.CommandLine

cinst। यह nuget और सेटअप पर्यावरण पथ स्थापित करेगा, तो nuget हमेशा उपलब्ध है।

+11

+1 जब तक आप चॉकलेट –

+0

के लिए –

5

[Package Manager Console] में

नीचे
Execute "Install-Package NuGet.CommandLine" 
+0

इंस्टॉल करने के लिए एनपीएम का उपयोग नहीं करते हैं, तब तक "इंस्टॉल-पैकेज NuGet.CommandLine" के बाद, nuget.exe को पीएम में निष्पादित किया जा सकता है। – BinSys

+11

निष्पादित करें: 'निष्पादन' शब्द को cmdlet, फ़ंक्शन, स्क्रिप्ट फ़ाइल या ऑपरेट करने योग्य प्रोग्राम के नाम के रूप में पहचाना नहीं गया है।नाम की वर्तनी जांचें, या यदि पथ शामिल किया गया था, तो सत्यापित करें कि पथ सही है और पुनः प्रयास करें। वीएस2015 – rob

+0

मुझे @rob के समान समस्या मिली। –

3
  • समाधान एक्सप्लोरर में अपनी परियोजना पर राइट क्लिक करें प्रयास करें।
  • का चयन करें समाधान के लिए NuGet संकुल प्रबंधित करें।
  • खोज माइक्रोसॉफ्ट द्वारा NuGet.CommandLine और इसे इंस्टॉल करें। Search Nuget.CommandLine
  • पूर्ण स्थापना पर, आपको पैकेज में आपके प्रोजेक्ट में एक फ़ोल्डर मिलेगा। समाधान एक्सप्लोरर पर जाएं और इसकी तलाश करें। packages
  • अंदर संकुल NuGet.CommandLine.3.5.0 नाम का एक फ़ोल्डर के लिए देखो, यहाँ 3.5.0 सिर्फ संस्करण अपने फ़ोल्डर का नाम तदनुसार बदल जाएगा नाम है। nuGet COmmand Line
  • अंदर NuGet.CommandLine.3.5.0उपकरण नाम का एक फ़ोल्डर के लिए देखो। tools
  • उपकरण के अंदर
  • आप मिल जाएगा अपने nuget.exe nuget.exe
2

दृश्य स्टूडियो में:

Tools -> Nuget Package Manager -> Package Manager Console. 

अपराह्न में:

Install-Package NuGet.CommandLine 

सी विजुअल स्टूडियो खोना और इसे फिर से खोलें।