web-dev-qa-db-ja.com

「nuget」は認識されませんが、他のnugetコマンドは動作します

http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#From_a_convention_based_working_directory を参照として使用して、nugetパッケージを作成しようとしています。 Visual Studioのパッケージマネージャーコンソールで 'nuget'コマンドを使用できません。 「Get-help nuguet」を実行でき、次のように表示されます。

次のNuGetコマンドレットが含まれています。

    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」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれていた場合は、パスが正しいことを確認して、ag ainを試してください。

1行目:char:6 + nuget <<<< + CategoryInfo:ObjectNotFound:(nuget:String)[]、CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException

私は次の解決策を試しました:

1>すべてのアイテムを閉じて再起動する

2>アンインストールと再インストール

3> powershellプロファイルファイルの作成(これは以前は存在しなかったため、実際にはすべてが壊れました)

Visual Studio 2012 Ultimate試用版を登録済みにアップグレードした後、問題が発生し始めました。私はもともとVS 12 Proをインストールしていました。それが本当に関係があるかどうかはわかりませんが、同様の問題を抱えている他のユーザーが10と12をインストールしていることに気付きました。

私の質問は、「誰も他に何を試すべきか知っていますか?」私の理論では、nugetコマンドへのパスはありませんが、パッケージマネージャーコンソールが使用するパスを構成する方法を見つけることができず、コマンドレットnugetが実際に格納されている場所がわかりません。

更新---以下に示すようにコマンドラインツールをダウンロードしてみました。これにより、再び何も機能しなくなります。アンインストールしようとしましたが、インストールまたは有効化ボタンが有効になっていないNugetのアイテムがvs2010エクステンションにあります。これは、私の小さなドラマの一部である2010および2012を介してインストールされた拡張機能に関係していると信じさせられます。誰かがアンインストール可能な拡張機能を無効にする方法も知っている場合は、アドバイスもお願いしますが、別の質問をしてみます。

94
done_merson

Nuget exeの場所にシステム変数パスを設定して、VSを再起動することもできます。

  1. システムのPATH変数を開き、nuget.exeの場所を追加します(私にとってはC:\Program Files (x86)\NuGet\Visual Studio 2013
  2. Visual Studioを再起動します

これを answer @done_mersonへのコメントとして投稿しますが、それを行うために必要な評判はありませんでした。

13
Matt

Nuget.exeは、プロジェクトの.nugetフォルダーに配置されます。パッケージマネージャーコンソールで直接実行することはできませんが、Powershellコマンドによって実行されるのは、これらのコマンドが独自のカスタムパスを構築するためです。

私が解決する手順は次のとおりです。


更新

NuGetは、次のコマンドを使用してプロジェクトに簡単にインストールできます。

インストールパッケージNuGet.CommandLine

134

それを行うにはもっといい方法があります。

  1. パックするプロジェクトにNuget.Buildパッケージをインストールします。インストール後にソリューションを閉じて再度開く必要がある場合があります。
  2. Chocolateyを介してnugetをインストールします。 chocolateyをインストールします: https://chocolatey.org/ を実行します

    cinst Nuget.CommandLine

コマンドプロンプトで。これにより、nugetがインストールされ、環境パスが設定されるため、nugetは常に使用可能になります。

55
fenix2222

[Package Manager Console]で以下を試してください

Install-Package NuGet.CommandLine
39
BinSys

Nugetコマンドラインツールにはvsixファイルが付属していません。別途ダウンロードします

https://github.com/nuget/home

15
Betty

Visual Studioの場合:

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

PMで:

Install-Package NuGet.CommandLine

Visual Studioを閉じて、もう一度開きます。

8
Kiran Chaudhari
  • ソリューションエクスプローラーでプロジェクトを右クリックします。
  • ソリューションのNuGetパッケージの管理を選択します。
  • MicrosoftでNuGet.CommandLineを検索してインストールします。 Search Nuget.CommandLine
  • インストールが完了すると、プロジェクト内にpackagesという名前のフォルダーが見つかります。ソリューションエクスプローラーに移動して探します。 packages
  • パッケージ内でNuGet.CommandLine.3.5.0という名前のフォルダーを探します。ここで3.5.0は、フォルダー名がそれに応じて変更される単なるバージョン名です。 nuGet COmmand Line
  • 内部NuGet.CommandLine.3.5.0toolsという名前のフォルダーを探します。 tools
  • toolsの中に、nuget.exenuget.exe
7
DeltaCap019

これを回避するには、nuget.exeを見つけて、入力しやすいパス(c:\ nuget\nuget)に移動し、このパスでnugetを呼び出します。これで問題が解決したようです。パッケージマネージャーコンソールのc:\ nuget\nugetは正常に機能します。コンソールが使用し、環境パスを変更しているパスを見つけようとしましたが、そのように機能させることはできませんでした。

3
done_merson

nuget.exeからhttps://www.nuget.org/downloadsを取得します。それをローカルフォルダーにコピーし、そのフォルダーをPATH環境変数に追加します。

これにより、どのプロジェクトからでもナゲットをグローバルに利用できるようになります。

0
misha