3
respostas

Propagação nas Alterações

Olá, tudo bem ? Possuo uma dúvida em relação a utilização de DLLs. Como no exemplo desse curso imagine que criamos a DLL com os nossos modelos e temos mais 5 projetos que utilizam essa DLL. Caso eu precise implementar ou alterar algum modelo e eu desejo as alterações sejam propagadas a todos os projetos, terei recompilar todos projetos que dependam dessa dll ? Tem alguma forma de deixar isso automático ?

Obrigado

3 respostas

Oi Rodrigo, temos vários especialistas em c# aqui, mas mesmo assim vou me arriscar... Acho que esse é um caso clássico de um projeto com um módulo compartilhado entre vários projetos... Tomara que exista um jeito, mas acho que vai ter que compilar sim.

Obrigado Alberto. É eu fiquei pensando nisso e ainda aqui eu utilizo o click once para distribuir as aplicações, toda vez precisarei publicar as alterações nas aplicações dependentes.Eu não sei se existe algo do tipo um repositório com as DLLs e toda vez que eu executar o programa dependente ele verifica se há uma versão mais atualizada das DLLs.

Opa, Rodrigo. Tudo bom?

Não é necessário recompilar a aplicação. Substituir a .DLL no diretório da sua aplicação com a nova versão será o suficiente.

Mas, se a nova versão de sua biblioteca alterar a assinatura de algum membro público, sua aplicação vai lançar uma exceção no momento em que este membro for utilizado.

Por exemplo:

// Biblioteca v1
public static class Teste
{
    public static int GetNumero()
    {
        return 1;
    }
}

// Biblioteca v2
public static class Teste
{
    // public static int GetNumero()
    // {
    //     return 1;
    // }
}

Neste exemplo, quando você atualizar o arquivo .DLL para a versão 2, haverá uma exceção quando a aplicação executar a chamada para Teste.GetNumero().