En nuestro proyecto web ASP.Net, parece que tenemos algunos archivos .refresh asociados con algunos de los Dlls de terceros que estamos usando. ¿Alguna idea de qué son y cómo/cuándo se crean?¿Qué es un archivo dll.refresh en ASP.Net?
Respuesta
Estos archivos dan la ruta a la DLL en cuestión para indicarle a Visual Studio dónde encontrarla (puede verificar esto si los abre en un editor de texto). Se crearán cada vez que agregue una nueva referencia al proyecto.
Suelen aparecer cuando se utiliza un tipo de proyecto que no crea un archivo de proyecto de Visual Studio estándar, ya que normalmente las rutas de acceso a los archivos DLL de referencia entraban ahí.
De here:
En un proyecto ASP.NET, añadiendo una referencia basada en archivos agregará un archivo .Refresh en la carpeta Bin. Cuando el proyecto está bajo control de fuente, este archivo se agrega al control de fuente.
*.dll.refresh
archivos que ensucian el directorio bin. Cada vez que agrega una referencia externa, encontrará un archivo dll.refresh justo al lado. Estos archivosdll.refresh
son una excepción a la regla y deben pasar al control de código fuente. Es la única forma en que su proyecto web sabrá dónde viven sus referencias.
Alguna información sobre los archivos de actualización después del ensayo y error. Estos experimentos se realizaron con Visual Studio 2012. Las referencias se agregaron a un proyecto web C# asp.net.
Como se comentó, agregar una referencia a un ensamblado a través de examinar agrega un archivo .refresh. Sin embargo, si hay DLL dependientes adicionales en la DLL añadida explícitamente en el directorio desde el que agrega, los dependientes también se añaden implícitamente, ¡pero sin los archivos .refresh! Entonces, por ejemplo, agrego una referencia a "MyAssembly.dll" y obtendré también "MyAssembly.dll.refresh". Pero si hay un ensamblado "MyDependentAssembly.dll" del que depende "MyAssembly.dll", no obtendré un "MyDependentAssembly.dll.refresh". ¡Entonces, lo que ocurre es que el ensamblaje se actualiza pero no sus dependientes! Debe agregar los archivos DLL uno a la vez en orden inverso de dependencia y luego las cosas funcionarán mejor.
Algunas otras cosas a tener cuidado. Agregar "MyAssembly.dll" también agregará "MyAssembly.pdb" si está presente. También se agregará "MyAssembly.xml" a las referencias si está presente. Esos dos archivos se actualizarán también cuando esté presente "MyAssembly.dll.refresh".
Pero, ¿cuándo decide Visual Studio buscar archivos de actualización? Ahora recuerde, en un proyecto web, el archivo de proyecto no hace un seguimiento específico de las DLL mencionadas. No encontrará las DLL enumeradas en el archivo de proyecto solo en las dependencias del proyecto. Entonces, ¿cuándo ocurre la actualización?
La respuesta a la actualización ocurre durante una compilación cuando se tiene que cargar el ensamblado al que se hace referencia. Eso significa, sin embargo, que la creación de un sitio web actualizable precompilado no puede aprovechar todas las DLL. Seguí teniendo una DLL que no se actualizaba y luego me di cuenta de que se estaba utilizando solo dentro de un archivo .ascx. Desmarcar la casilla de verificación "Permitir que el sitio precompilado sea actualizable" en la página del proyecto MSBuild Options me solucionó ese problema.
Aún si agrega archivos DLL a los que se hace referencia que se cargan mediante reflejo en su código, no se actualizarán a través de una referencia. Tendrá que usar eventos de compilación para copiarlos en el directorio bin.
Creo que cuando dices 'proyecto web' te refieres a 'sitio web'. –
- 1. ¿Qué es el archivo gpstate en ASP.NET
- 2. ¿Qué es un archivo .axd?
- 3. ¿Qué es un HttpHandler en ASP.NET
- 4. ¿Qué es ASP.Net MVC?
- 5. ¿Qué es un archivo .h.gch?
- 6. ¿Qué es un archivo ".dll.a"?
- 7. ¿Qué es un archivo .episode ..?
- 8. ¿Qué es VaryByParam en asp.net?
- 9. ¿Qué es un archivo PDB?
- 10. ¿Qué es un archivo MDF?
- 11. ¿Qué es un archivo Android.mk?
- 12. ¿Qué es un archivo .baml?
- 13. qué es un archivo normal en unix
- 14. ¿Qué es ASP.NET?
- 15. ¿Qué es un motor ASP.Net MVC View?
- 16. ¿Qué es un proveedor de ASP.NET?
- 17. Uso de NuGet con archivos * .dll.refresh en proyectos de "Sitio web" de ASP.NET con Proyectos de implementación web
- 18. .archivo .ashx en asp.net?
- 19. ¿Qué es un valor óptimo para maxPageStateFieldLength en ASP.NET
- 20. En ASP.NET MVC 3, ¿qué es filterContext.IsChildAction?
- 21. ¿Por qué es un archivo ensamblador .exe?
- 22. ¿Qué es un archivo con extensión .a?
- 23. ¿Qué es un archivo .a (como libcrypto.a)?
- 24. ¿Qué es un archivo erlang hrl?
- 25. ¿Qué es un archivo cvs new-born?
- 26. ¿Qué es la confianza media en Asp.net?
- 27. ¿Qué es la suplantación en ASP.net
- 28. ¿Usa etiquetas ASP.Net en un archivo .js?
- 29. Creando un archivo .config personalizado en asp.net
- 30. ¿Qué es la extensión de archivo .MSPX?
Parcialmente copiado de http://monsur.xanga.com/437206798/dllrefresh-and-aspnet/ –
Hola SharpUrBrain, parece que acabas de copiar la mayor parte de este contenido del enlace de arriba. ¿Puedes editar tu publicación y atribuirla al autor?El plagio no es bienvenido en Stack Overflow, y siempre es bueno dar crédito donde se debe crédito. ¡Gracias! –
¿El archivo dll al que hace referencia el archivo nuevo tiene que ser en formato .net? ¿Nuevo archivo fresco en C++ DLL? – Gqqnbig