Introdução
Para atualizar um pacote NuGet que já está instalado em uma solução, é muito simples, porém, é preciso muita cautela e talvez alguma revisão de código. A seguir eu mostro uma atualização do pacote FluentValidator da versão 2.0.0 para a última versão.
Instale um pacote NuGet antigo
Primeiro, vamos instalar uma versão antiga do pacote FluentValidator, em uma nova solução com um projeto console.
Crie a solução com um projeto do tipo Console Application chamada NugetUpdatePackage.
Clique no menu Tools, em seguida em NuGet Package Manager e finalmente em Package Manager Console.
Em Package Manager Console, em Default project, selecione o projeto que será instalado o pacote.
Digite o comando a seguir, que irá instalar a versão 2.0.0 do FluentValidator, que não é a última:
1 |
Install-Package FluentValidator -Version 2.0.0 |
Edite a classe Program.cs, conforme segue:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
using System; using FluentValidator; namespace NugetUpdatePackage { class Program { static void Main(string[] args) { Console.WriteLine("Type a email"); var input = Console.ReadLine(); var email = new Email(input); Console.WriteLine(email.IsValid ? "Valid" : "Not valid"); Console.ReadKey(); } } public class Email : Notifiable { public Email(string s) { if (string.IsNullOrWhiteSpace(s)) AddNotification("E-Mail", "Can not be null"); } } } |
Execute o programa, e verifique o funcionamento.
Atualizando o pacote para a ultima versão
Abra a janela Package Manager Console, em Default project, selecione o projeto que será atualizado o pacote, e digite o comando a seguir, que irá atualizar para a ultima versão do FluentValidator:
1 |
Update-Package FluentValidator |
Agora o nosso projeto está com a última versão, todavia, será preciso revisar o código, pois, há algumas alterações na forma de usar o pacote.
O método IsValid parece não estar funcionando, e para entender o problema, precisamos ler a documentação, ou procurar pelo recurso de Intellisense da própria IDE. E neste caso conseguimos deduzir pelo por ele mesmo.
Pronto, nosso código voltou a compilar.