Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 38548|Resposta: 2

[Fonte] O impacto do arquivo dll.refresh ao referenciar a biblioteca de classes do projeto

[Copiar link]
Publicado em 04/05/2020 20:42:50 | | |
Como todos sabemos, programas .net geram .dll arquivos no diretório bin depois que são gerados, mas de onde vem o arquivo .dll.refresh? Pesquisei no Google 'tédio' naquele dia e descobri que isso é gerado automaticamente ao referenciar um assembly de terceiros (direto) no seu projeto; esse arquivo .refresh armazena o caminho original desse arquivo de terceiros; se o DLL desse caminho for atualizado, enquanto o projeto é gerado, o assembly será atualizado e alterado de acordo com esse endereço. Sem esse arquivo, o VS não poderá atualizar o conjunto referenciado de acordo com o status mais recente, o que causará o problema da versão do assembly estar incorreta. Um pequeno detalhe pode levar a um grande problema, todos prestem atenção!

Uma nova versão do site foi lançada, e um problema sério foi descoberto: uma das bibliotecas não foi atualizada automaticamente, mas uma versão desatualizada foi gerada automaticamente.

Após investigação, descobriu-se que estava relacionado a um arquivo dll.refresh no VSS.

A razão é simples:

1。 Durante o processo de desenvolvimento, quando outras referências de DLL externas são adicionadas ao site, o sistema gera automaticamente o arquivo de atualização, e esse arquivo não será gerado se outras referências de DLL de projeto forem adicionadas sob essa solução

2。 O arquivo refresh especifica o caminho para atualizar automaticamente a DLL e, se for uma referência de biblioteca, ele especificará o diretório Dubug ou Release, e o arquivo que apresenta erro desta vez é o diretório Debug

3。 O desenvolvedor verificou o arquivo por engano na base de código VSS

4。 O problema é que a biblioteca de referência mudou muitas vezes após o lançamento da primeira versão, mas a interface não mudou, então a biblioteca é gerada separadamente, e então apenas a DLL correspondente (versão de lançamento) de todos os aplicativos é atualizada, e não houve problema, mas quando uma aplicação é republicada, devido à existência de um arquivo de atualização no diretório BIN do projeto, a DLL é automaticamente atualizada com o caminho especificado pelo arquivo, o que leva ao lançamento da DLL da versão antiga (versão Debug).

Resolução de Problemas:

Exclua o arquivo dll.refresh no app e republique o app

Ou modificar o conteúdo no dll.refresh e escrever o caminho do dll corretamente





Anterior:Esquema de banco de dados: Separação de leitura e gravação para CQRS
Próximo:Método NPM de configuração e cancelamento de proxies
 Senhorio| Publicado em 04/05/2020 20:44:32 |
Referenciar um arquivo dll externo no VS2005 produz uma extensão chamada .refresh,
Se você referenciar um System.Web.Extensions.dll, ele gerará automaticamente um System.Web.Extensions.dll.refresh, que contém o caminho absoluto dessa DLL.
Nota: Após a exclusão, o VS2005 não atualizará automaticamente a DLL que você refere pelo caminho do arquivo para o diretório bin. Isso significa que, se a DLL que você mencionou for atualizada, você terá que reconsultá-la manualmente por conta própria.
 Senhorio| Publicado em 17/05/2020 11:51:33 |
teste
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com