2009-06-24 5 views
11

Stiamo utilizzando PublicResXFileCodeGenerator per generare file * .Designer.cs da file * .resx. Attualmente, questi sono generati ogni volta che .resx viene salvato o quando facciamo clic destro e scegliere "Esegui strumento personalizzato".Running PublicResXFileCodeGenerator in fase di compilazione

Desidero poter eseguire questo strumento automaticamente al momento della compilazione, piuttosto che doverlo fare manualmente. I file Designer.cs non sono tenuti sotto il controllo del codice sorgente, quindi diventa fastidioso doverli generare manualmente ogni volta che qualcun altro cambia la risorsa o al primo checkout. Va bene se i file vengono generati su ogni build, dal momento che non sono molto grandi, ma farlo solo quando non sono aggiornati sarebbe ancora più interessante.

Nota: questo sarebbe come parte di una build di Visual Studio, non di una riga di comando. Ho trovato una risposta ad un'altra domanda dicendo che è possibile da VS, solo non da linea di comando: Run a Visual Studio custom tool at build time

risposta

3

È possibile scrivere una macro VS che esegue semplicemente lo strumento personalizzato quando necessario. Il metodo di automazione è VSProjectItem.RunCustomTool. Date un'occhiata a questa risposta su SO per un problema simile: Run Custom Tool for entire solution

In caso contrario, PublicResXFileCodeGenerator è solo un wrapper VS sul StronglyTypedResourceBuilder Class, che è possibile automatizzare nel modo desiderato. Non so se ci sia un Task di Msbuild su di esso, ma potresti anche scriverne uno, o puoi semplicemente scrivere un programma personalizzato in una fase di pre-build. Ecco un esempio su come utilizzare questa classe: Strongly typed resources in ASP.NET

+0

Ho capito che funziona. Ho creato un componente aggiuntivo di Visual Studio che esegue lo strumento di creazione personalizzato su ogni file resx quando viene creato il mio progetto. – Sjoerd

+0

Ho scritto su questo: [Esegui strumento personalizzato su ogni file resx quando si costruisce] (http://linuxonly.nl/docs/49/145_Run_custom_tool_on_each_resx_file_when_building.html) – Sjoerd

1

Dai un'occhiata a questo Code Project Article. Sembra che sia un buon punto di partenza per ottenere quello che vuoi.