Comme nous le savons tous, les programmes .net génèrent .dll fichiers dans le répertoire bin après leur génération, mais d’où vient le fichier .dll.refresh ? J’ai cherché « ennui » ce jour-là sur Google et j’ai découvert que cela est automatiquement généré lors de la référence à un assembleur tiers (direct) dans votre projet, ce fichier .refresh stocke le chemin du fichier original de ce fichier tiers, si la DLL sous ce chemin est mise à jour, alors que lorsque le projet est généré, l’assembleur sera mis à jour et modifié selon cette adresse. Sans ce fichier, VS ne pourra pas mettre à jour l’assemblage référencé selon le dernier statut, ce qui causera le problème d’une version d’assemblage incorrecte. Un petit détail mènera à un gros problème, tout le monde est attentif !
Une nouvelle version du site web a été publiée, et un problème sérieux a été découvert : l’une des bibliothèques n’a pas été mise à jour automatiquement, mais une version obsolète a été générée automatiquement.
Après enquête, il s’est avéré qu’il s’agissait d’un fichier dll.refresh dans VSS.
La raison est simple :
1。 Pendant le processus de développement, lorsque d’autres références DLL externes sont ajoutées au site web, le système génère automatiquement le fichier de rafraîchissement, et ce fichier ne sera pas généré si d’autres références DLL de projet sont ajoutées sous cette solution
2。 Le fichier de rafraîchissement spécifie le chemin pour mettre à jour automatiquement la DLL, et s’il s’agit d’une référence de bibliothèque, il spécifiera le dossier Dubug ou Release, et le fichier qui a cette fois une erreur est le répertoire Debug
3。 Le développeur a par erreur enregistré le fichier dans la base de code VSS
4。 Le problème est que la bibliothèque de référence a changé plusieurs fois après la sortie de la première version, mais l’interface n’a pas changé, donc la bibliothèque est générée séparément, et seule la DLL (version de la version) correspondante de toutes les applications est mise à jour, et il n’y a eu aucun problème, mais lorsqu’une application est republiée, en raison de l’existence d’un fichier de rafraîchissement dans le répertoire BIN du projet, la DLL est automatiquement mise à jour avec le chemin spécifié par le fichier, ce qui conduit à la publication de l’ancienne version DLL (version Debug).
Résolution de problèmes :
Supprimez le fichier dll.refresh dans l’application et republiez l’application
Ou modifier le contenu dans dll.refresh, et écrire correctement le chemin dll
|