2012-04-26 13 views
5

En el paquete NuGet MiniProfiler.MVC3, se crea un archivo en App_Start que se utiliza para controlar la configuración de la MiniProfiler (SqlFormatter de usar, modificaciones a la ViewEngines, cuándo comenzar MiniProfiler , etc.)Actualización de paquete MiniProfiler.MVC3 NuGet después de editar MiniProfiler.cs en App_Start

Hay un montón de comentarios TODO en este archivo que hablan de cómo cambiar el código para realizar cómo lo desee. Esto es genial, pero cuando se actualice el paquete NuGet, verá que he cambiado el archivo y no ha desplegado la versión actualizada. El problema aquí es que pierdo las actualizaciones de ese archivo y, en función de lo que haya actualizado en el paquete, lo vuelvo inutilizable (por ejemplo, al actualizar MiniProfiler.MVC3 de la versión 1.9 a la 2.0.1 después de modificar MiniProfiler.cs en App_Start , el proyecto ya no se compilará debido a los cambios necesarios en ese archivo en la versión 2.0.1).

¿Cuál es la mejor manera de manejar esto? ¿Debería crear mi propio archivo en App_Start y no modificar el que está en el paquete NuGet, asegurándome de que siempre obtendré la actualización completa al actualizar a la última versión del paquete NuGet?

Respuesta

1

Puede hacer una copia de seguridad del archivo en App_Start, actualizarlo, luego combinar los archivos manualmente o usar una herramienta de fusión. Probablemente termines haciendo esto de todos modos si estás usando el control de fuente.

0

Rápido y sucio: cree el archivo que desee. Luego copie/fusione cada vez que actualice con nugget. O con cada compilación. El tiempo de compilación agregado es insignificante.

Un poco mejor: utilice el evento de precompilación en Visual Studio y compare los archivos. Si difieren, copie o comunique al usuario. No puedo encontrar una manera de mostrar un cuadro de mensaje, o similar, en la parte superior de mi cabeza, pero uno siempre puede crear un nuevo archivo con un error de compilación y texto cercano "discrepancia en el archivo xxx".

0

intente utilizar colas mercurial. Puede obtener su código al punto que desee (excluyendo el archivo al que se refiere), y luego confirmarlo. Realice cambios en su archivo y empújelo a una cola. Asegúrese de excluirlo de las actualizaciones futuras (manualmente) y luego, cuando desee actualizar su paquete, retírelo de su base de códigos. Esto hará que se vea como solía hacerlo, y ejecutará la actualización nuget. Luego puede volver a colocar la cola en el código y los cambios se volverán a aplicar. Puede llevar un poco de toquetear, pero vale la pena echarle un vistazo.

para la referencia:

Cuestiones relacionadas