Como todos sabemos, los programas .net generan .dll archivos en el directorio bin una vez generados, pero ¿de dónde viene el archivo .dll.refresh? Ese día busqué en Google 'aburrimiento' y descubrí que esto se genera automáticamente al referenciar un ensamblador de terceros (directo) en tu proyecto; este archivo .refresh almacena la ruta original de ese archivo de terceros; si se actualiza el dll bajo esta ruta, frente a cuando se genera el proyecto, el ensamblador se actualizará y cambiará según esta dirección. Sin este archivo, VS no podrá actualizar el ensamblador referenciado según el estado más reciente, lo que causará el problema de que la versión del ensamblador sea incorrecta. Un pequeño detalle puede causar un gran problema, ¡todos prestad atención!
Se lanzó una nueva versión del sitio web y se descubrió un problema serio: una de las bibliotecas no se actualizaba automáticamente, sino que se generaba una versión desactualizada automáticamente.
Tras investigar, resultó estar relacionado con un archivo dll.refresh en VSS.
La razón es sencilla:
1。 Durante el proceso de desarrollo, cuando se añaden otras referencias DLL externas al sitio web, el sistema genera automáticamente el archivo de actualización, y este archivo no se generará si se añaden otras referencias DLL de proyecto bajo esta solución
2。 El archivo de actualización especifica la ruta para actualizar automáticamente la DLL, y si es una referencia a la biblioteca, especificará el directorio Dubug o Release, y el archivo que se equivoca esta vez es el directorio Debug
3。 El desarrollador registró por error el archivo en la base de código VSS
4。 El problema es que la biblioteca de referencia ha cambiado muchas veces tras el lanzamiento de la primera versión, pero la interfaz no ha cambiado, por lo que la biblioteca se genera por separado, y solo se actualiza la DLL (versión de lanzamiento) correspondiente de todas las aplicaciones, y no ha habido ningún problema, pero cuando una aplicación se vuelve a publicar, debido a la existencia de un archivo de actualización en el directorio BIN del proyecto, la DLL se actualiza automáticamente con la ruta especificada por el archivo, lo que conduce a la liberación de la versión anterior DLL (versión Debug).
Resolución de problemas:
Elimina el archivo dll.refresh en la app y vuelve a publicar la app
O modificar el contenido en dll.refresh y escribir correctamente la ruta de dll
|