Suponha que eu tenha uma solução com 3 projetos:
- Testemunho
- UI
- Testes
Alguns dos pacotes NuGet que utilizo serão aplicáveis a todos os 3 projetos. Alguns se aplicam apenas à interface do usuário e testes, e outros se aplicam apenas a testes (como NUnit).
Qual é a maneira correta de configurar isso usando o NuGet?
- Devo usar "Adicionar referência de pacote de biblioteca" nos três projetos sempre que precisar de uma referência?
- Devo usar "Adicionar referência de pacote de biblioteca" na primeira vez que precisar de um pacote e usar Adicionar referência-> Procurar usos subsequentes?
Em ambos os casos, quantos arquivos packages.config devo ter?
Install-Package RazorEngine -Version 3.3.0
mas ele será aplicado apenas ao projeto selecionado no menu suspenso do console.Use o console para direcionar vários projetos
então use este comando
por exemplo
fonte
Este doce acordo funciona para mim:
fonte
Get-Project -all | ForEach-Object {Get-Package -ProjectName $_.Name -Filter Newtonsoft.Json}
Get-Project -all | ForEach-Object {Get-Package -ProjectName $_.Name -filter PACKAGE_NAME} | where-object { $_.id -eq 'PACKAGE_NAME' }
Se você deseja instalar um pacote em várias soluções, escrevi um script útil do Powershell para fazer isso, veja aqui .
Você pode até filtrar o
Get-Project -All
comando e direcionar um subconjunto da lista de projetos.fonte
Você deve usar a "Adicionar referência de pacote de biblioteca" para toda a sua biblioteca externa em todos os projetos da sua solução. Você terminará com um packages.config por projeto.
No entanto, você fará o download do pacote apenas uma vez e os reutilizará localmente para todos os seus outros projetos.
fonte
No Package Manager Console, você pode escrever o seguinte comando :
Você pode usar esse comando para instalar ou atualizar também (Update-Package)
fonte