Estou tentando criar um pacote nuget usando http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#From_a_convention_based_working_directory como referência. Meu console do gerenciador de pacotes no Visual Studio não está me permitindo usar o comando 'nuget'. Consigo 'obter ajuda nuguet' e ele exibe:
Os seguintes cmdlets NuGet estão incluídos.
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.
- No entanto, sempre que começo comandos com nuget, ele dá:
O termo 'nuget' não é reconhecido como o nome de um cmdlet, função, arquivo de script ou programa operável. Verifique a grafia do nome ou, se um caminho foi incluído, verifique se o caminho está correto e tente novamente.
Na linha: 1 char: 6 + nuget <<<< + CategoryInfo: ObjectNotFound: (nuget: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException
Tentei as seguintes soluções:
1> fechando todos os itens e reiniciando
2> desinstalando e reinstalando
3> criar um arquivo de perfil do PowerShell (isso não existia antes e na verdade quebrou tudo)
O problema começou a aparecer depois que atualizei minha versão de avaliação do Visual Studio 2012 Ultimate para o registrado. Eu tinha originalmente instalado o VS 12 Pro. Não sei se isso realmente tem alguma coisa a ver com isso, mas percebi que outros que tiveram problemas semelhantes têm vs 10 e 12 instalados.
Minha pergunta é "alguém sabe o que mais tentar?" Minha teoria é que o caminho para o comando nuget está ausente, mas não consigo descobrir como configurar os caminhos que o console do gerenciador de pacotes usa e não tenho certeza de onde o nuget do cmdlet está realmente armazenado.
Atualizado --- tentei baixar a ferramenta de linha de comando conforme sugerido abaixo. Isso fez com que nada funcionasse novamente. Tentei desinstalar e agora tenho um item nas extensões vs2010 para o nuget que não tem um botão de instalação ou desinstalação habilitado. Isso me leva a crer que tem a ver com extensões instaladas em 2010 e 2012 que tem uma parte no meu pequeno drama. Se alguém também souber como destruir uma extensão desinstalável, avise também, mas vou tentar outra pergunta para isso.
fonte
Respostas:
Você também pode tentar definir o caminho da variável do sistema para a localização do seu exe nuget e reiniciar o VS.
PATH
variável e adicionar a localização do seu nuget.exe (para mim isso é:C:\Program Files (x86)\NuGet\Visual Studio 2013
)Eu teria postado isso como um comentário à sua resposta @done_merson, mas não tinha a reputação necessária para fazer isso.
fonte
Nuget.exe é colocado na
.nuget
pasta do seu projeto. Ele não pode ser executado diretamente no Console do gerenciador de pacotes, mas é executado por comandos do Powershell porque esses comandos criam um caminho personalizado para eles mesmos.Minhas etapas para resolver são:
C:\Program Files\NuGet\Visual Studio 2012
(ou sua versão do VS);C:\Program Files\NuGet\Visual Studio 2012
(ou sua versão do VS) na variável de ambiente PATH(consulte http://www.itechtalk.com/thread3595.html como um guia)( instruções aqui ).Atualizar
O NuGet pode ser facilmente instalado em seu projeto usando o seguinte comando:
fonte
Package 'NuGet.CommandLine.3.3.0' already exists in project 'TimeLoop'
mas quando escrevo NuGet, recebo apenas um erro informando que o comando não existe.Install-Package NuGet.CommandLine
é terrível porque, 1. AdicionaNuGet.CommandLine
como uma dependência ao meu projeto (eca!), e 2. Isso precisa ser feito separadamente em cada projeto.npm
tem uma opção de 'instalação global' - o NuGet não tem algo semelhante !?Existem maneiras muito mais agradáveis de fazer isso.
Instale o nuget via chocolate - muito mais agradável. Instale chocolatey: https://chocolatey.org/ e execute
cinst Nuget.CommandLine
em seu prompt de comando. Isso instalará o nuget e configurará os caminhos do ambiente, para que o nuget esteja sempre disponível.
fonte
Em
[Package Manager Console]
tente o abaixofonte
Install-Package NuGet.CommandLine
A ferramenta de linha de comando nuget não vem com o arquivo vsix, é um download separado
https://github.com/nuget/home
fonte
fonte
No Visual Studio:
Na PM:
Feche o Visual Studio e abra-o novamente.
fonte
Eu resolvi isso encontrando o nuget.exe e mudando para um caminho fácil de digitar (c: \ nuget \ nuget) e, em seguida, chamando o nuget com esse caminho. Isso parece resolver o problema. c: \ nuget \ nuget no console do gerenciador de pacotes funciona conforme o esperado. Tentei encontrar o caminho que o console estava usando e alterando o caminho do ambiente, mas nunca consegui fazê-lo funcionar dessa forma.
fonte
Recupere
nuget.exe
dehttps://www.nuget.org/downloads
. Copie-o para uma pasta local e adicione essa pasta àPATH
variável de ambiente.Isso tornará o nuget disponível globalmente, a partir de qualquer projeto.
fonte