Si tiene un tipo de proyecto de sitio web ASP.NET (el que no tiene un archivo de proyecto .csproj o .vpproj adecuado y eso es solo una carpeta de archivos sueltos), luego cuando agrega un paquete con NuGet, crea un archivo * .dll.refresh en el directorio Bin para hacer referencia al dll del paquete en la carpeta de paquetes principales.Uso de NuGet con archivos * .dll.refresh en proyectos de "Sitio web" de ASP.NET con Proyectos de implementación web
Por ejemplo, si ejecuta "install-package elmah" desde la consola del Administrador de paquetes, entonces Elmah se coloca en la carpeta de paquetes en el directorio de soluciones del proyecto, y el archivo Elmah.dll.refresh se coloca en el contenedor del proyecto carpeta.
Cuando construyo el proyecto localmente, Visual Studio extrae automáticamente la DLL a la que hace referencia el archivo de actualización. El sitio y Elmah se ejecutan correctamente. No tengo el archivo Elmah.dll que se encuentra en el directorio Bin del proyecto registrado en el control de origen (solo el archivo de actualización y la carpeta de paquetes están registrados).
Sin embargo, estoy usando Proyectos de implementación web para precompilar el sitio y hacer sustituciones de implementaciones web.config. Cuando la solución se genera de esta manera, Elmah.dll no se inserta automáticamente en el directorio Bin del proyecto del sitio web y el sitio no se ejecuta correctamente debido a la falta de DLL.
¿Cómo se va a utilizar NuGet en este tipo de situaciones? ¿Debo verificar Elmah.dll en el directorio Bin?
Esto se prueba y funciona tanto en Visual Studio como ejecutando MSBuild directamente en una máquina de compilación. –