Adicionei o recente recurso de restauração de pacote de nuget a uma solução usando 'Ativar restauração de pacote NuGet': http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
No entanto, ele quebrou meu servidor de compilação e eu não tive tempo para corrigi-lo, então eu queria removê-lo. Até onde eu sei, não há opção, por isso removi manualmente a seguinte linha de todos os meus arquivos * .csproj:
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
O problema agora é que toda vez que meus arquivos * .csproj são retirados ou abertos minha solução, a linha é automaticamente adicionada novamente, interrompendo minha compilação se eu acidentalmente fazer o check-in :(
Alguma idéia de como removê-lo permanentemente?
ATUALIZAÇÃO: apesar da resposta abaixo, ela continua voltando ao abrir a solução, alguém com o mesmo problema?
fonte
Respostas:
Eu não parecia muito bem, há outra propriedade adicionada aos arquivos do projeto:
Só é necessário remover isso e todas essas linhas manualmente de todos os arquivos * .csproj:
ATUALIZAR:
Acontece que é um bugger persistente, se você estiver editando manualmente os arquivos do projeto, feche a solução e exclua todas as linhas do projeto de uma só vez ; caso contrário, elas serão adicionadas novamente assim que o projeto for recarregado ...
UPDATE2:
Exclua também a pasta .nuget da raiz da solução
UPDATE3:
Uma versão posterior do NuGet adiciona outra seção que você precisa remover:
Update4
Dentro da pasta
NuGet.Targets
localizada.nuget
, há outra seção que é adicionada a novos projetos ... mude para false.fonte
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
no final do arquivo .csproj que precisa ser removido manualmente.Para desativar a restauração do pacote Nuget:
Linhas a serem removidas:
Nota: Certifique-se de fazer todas as alterações de uma só vez antes de recarregar a solução, caso contrário, elas serão adicionadas novamente.
Isso se baseia no seguinte artigo: http://bartwullems.blogspot.no/2012/08/disable-nuget-package-restore.html
Além disso, convém verificar se essa opção está desabilitada: http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
fonte
Não é essa configuração aqui?
Opções ... -> Nuget Package Manager -> [desmarque] Permitir que o Nuget baixe pacotes ausentes
Estou usando o Visual Studio Professional + Resharper 8.2
fonte
Restoring NuGet packages... To prevent NuGet from restoring packages during build, open the Visual Studio Options dialog, click on the Package Manager node and uncheck 'Allow NuGet to download missing packages during build.'
é apenas uma confirmação de que esse deve ser o caminho a seguir..nuget/
pasta e modificava a sua.csproj
para referenciar um.targets
arquivo. Você deveria comprometer onuget.exe
seu VCS (eww, resolvendo o problema que a pepita resolve!) E a feiura assim. Atualmente,msbuild /restore
existe e o pacote interno do VS é restaurado. O OP está perguntando como remover a maneira antiga e ruim de fazer as coisas - e não como desativar o suporte correto à restauração de pacotes internos do VS.As soluções atualmente usando a restauração de pacotes MSBuild-Integrated podem ser migradas para a Restauração Automática de Pacotes. Pelo que entendi, isso deve ajudar aqueles que estão enfrentando problemas de criação de IC. (Por favor, corrija-me se eu estiver enganado).
Consulte o documento no site nuget: Migrando soluções integradas ao MSBuild para usar a restauração automática de pacotes em http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore
Há informações para converter com e sem o TFS.
David Ebbo também postou algumas informações em http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html
fonte
Na verdade, temos uma postagem no blog e, no final da postagem, um script do PowerShell foi mencionado para ajudar na migração.
http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore
fonte
O NuGet tem uma postagem no blog sobre a migração para a restauração automática de pacotes: http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore
Há um script do PowerShell mencionado na postagem do blog que cuidará da remoção automática das linhas necessárias (e recursivamente): https://github.com/owen2/AutomaticPackageRestoreMigrationScript/blob/master/migrateToAutomaticPackageRestore.ps1
A oferta direta de uma opção Desativar restauração do pacote NuGet está marcada como Não será corrigida: https://nuget.codeplex.com/workitem/1883
fonte
Segui a solução aceita sem sucesso usando 2012. Porém, isso funcionou,
<RestorePackages>true</RestorePackages>
para<RestorePackages>false</RestorePackages>
e exclua a<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
linhanuget.exe
paranuget.exe.NotExe
fonte
Para qualquer um que ainda precise limpar um projeto usando a restauração de pacote NuGet antiga, a ferramenta IFix disponível aqui automatiza o processo.
Basta executar o instalador (
IFix
será adicionado aPATH
) e, em seguida, execute o seguinte:Você pode executá-lo no modo de verificação primeiro para ver o que será limpo:
fonte
Eu tive o mesmo problema. O que acabei fazendo: 1) entre em cada arquivo .csproj do projeto na solução, abra-o no bloco de notas e depois remova a parte do xml e salve-a.
2) Em seguida, removi todos os arquivos package.config de toda a solução.
3) Depois tive que remover as pastas .nuget e package.
Neste ponto, eu tinha uma solução completamente livre de NuGet.
4) Em seguida, referenciei manualmente todas as DLLs necessárias e cliquei em compilar e a solução funcionou como um campeão sem que os pacotes NuGet fossem necessários.
fonte
Vá para o diretório da solução em que você possui
[$(SolutionDir)\.nuget\nuget.targets] .nuget
pastas enuget.targets
arquivos, exclua a pasta e altere as linhas de remoção do csproj pela última vez.O problema não voltará a incomodá-lo novamente.
fonte
Remova o arquivo packages.config da sua solução.
fonte
Ativei acidentalmente essa opção de "restauração de pacotes" ao abrir meu projeto no VS2012 RC e comecei a receber erros parecidos com:
"Erro 1 Não foi possível localizar 'C: \ FolderX \ SomeProject.nuget \ nuget.exe'"
Para corrigir o erro, segui as instruções acima, abra cada arquivo de projeto no bloco de notas e remova a linha RestorePackage.
fonte
Consegui resolver esse problema seguindo estas etapas:
1) certifique-se de fazer um backup de todas as alterações nos arquivos com saída atual.
2) exclua fisicamente a pasta da solução do seu C: \ (caminho mapeado para o TFS).
3) obtenha as últimas novidades do TFS para sua solução.
4) copie (se houver) suas alterações do backup que você fez na etapa 1.
espero que ajude !
fonte
Encontrei exatamente o mesmo problema e tentei remover todas as tags .nuget e RestorePackage dos arquivos do projeto, mas um projeto simplesmente não recarregava, não importando o quanto eu a examinasse minuciosamente nas tags .nuget e RestorePackages. Eu acho que há algumas referências ocultas a isso em algum lugar.
No final, foi mais fácil copiar os arquivos e criar um novo projeto e importá-lo para a solução.
fonte
Nuget é uma merda. Apenas remova nugets e remova ou comente os elementos do pacote packages.config no diretório raiz dos projetos nos quais isso é um problema. Use referências diretas em alguma pasta lib.
fonte