2009-06-24 8 views
11

Estamos utilizando PublicResXFileCodeGenerator para generar archivos * .Designer.cs a partir de archivos * .resx. Actualmente, estos se generan cuando se guarda el .resx o cuando hacemos clic derecho y seleccionamos "Ejecutar herramienta personalizada".Ejecutando PublicResXFileCodeGenerator en tiempo de compilación

Quiero ser capaz de ejecutar esta herramienta automáticamente en tiempo de compilación, en lugar de tener que hacerlo manualmente. Los archivos Designer.cs no se guardan bajo el control de código fuente, por lo que resulta molesto tener que generarlos manualmente cada vez que alguien más cambie el recurso o, al principio, el primer pago. Está bien si los archivos se generan en cada compilación, ya que no son muy grandes, pero hacerlo solo cuando están desactualizados sería aún mejor.

Nota: Esto sería como parte de una compilación de Visual Studio, no como una compilación de línea de comandos. Encontré una respuesta a otra pregunta diciendo que es posible desde dentro de VS, simplemente no línea de comando: Run a Visual Studio custom tool at build time

Respuesta

3

Puede escribir una macro VS que simplemente ejecute la herramienta personalizada cuando la necesite. El método de automatización es VSProjectItem.RunCustomTool. Echar un vistazo a esta respuesta en SO para un problema similar: Run Custom Tool for entire solution

De lo contrario, PublicResXFileCodeGenerator es sólo un envoltorio estomatitis vesicular el StronglyTypedResourceBuilder Class, que puede automatizar la forma que desee. No sé si hay una Tarea Msbuild encima, pero también podría escribir una, o simplemente puede escribir un programa personalizado en un paso previo a la compilación. Aquí hay un ejemplo sobre cómo usar esta clase: Strongly typed resources in ASP.NET

+0

Lo tengo para trabajar. Creé un complemento de Visual Studio que ejecuta la herramienta de compilación personalizada en cada archivo resx cuando se crea mi proyecto. – Sjoerd

+0

Escribí sobre esto: [Ejecute la herramienta personalizada en cada archivo resx al compilar] (http://linuxonly.nl/docs/49/145_Run_custom_tool_on_each_resx_file_when_building.html) – Sjoerd

1

Echa un vistazo a este Code Project Article. Parece ser un buen punto de partida para conseguir lo que quiere.

Cuestiones relacionadas