Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 38548|Respuesta: 2

[Fuente] El impacto del archivo dll.refresh al referenciar la biblioteca de clases del proyecto

[Copiar enlace]
Publicado en 4/5/2020 20:42:50 | | |
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





Anterior:Esquema de base de datos: Separación de lectura y escritura en CQRS
Próximo:Método NPM para configurar y cancelar proxies
 Propietario| Publicado en 4/5/2020 20:44:32 |
Referenciar un archivo dll externo en VS2005 produce una extensión llamada .refresh,
Si haces referencia a un System.Web.Extensions.dll, generará automáticamente un System.Web.Extensions.dll.refresh, que contiene el camino absoluto de esta DLL.
Nota: Después de eliminar, VS2005 no actualizará automáticamente la dll que referencias a través de la ruta del archivo hacia el carterín bin. Esto significa que si la DLL que mencionaste se actualiza, tendrás que volver a consultarla tú mismo.
 Propietario| Publicado en 17/5/2020 11:51:33 |
prueba
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com