2009-06-24 7 views
11

Nous utilisons PublicResXFileCodeGenerator pour générer des fichiers * .Designer.cs à partir de fichiers * .resx. Actuellement, ceux-ci sont générés à chaque fois que le .resx est enregistré ou lorsque nous faisons un clic droit et choisissez "Run Custom Tool".Exécution de PublicResXFileCodeGenerator au moment de la compilation

Je veux être capable d'exécuter cet outil automatiquement lors de la construction, plutôt que de devoir le faire manuellement. Les fichiers Designer.cs ne sont pas conservés sous le contrôle de la source, il est donc ennuyeux d'avoir à les générer manuellement chaque fois que quelqu'un d'autre change la ressource, ou au premier contrôle. Ce n'est pas grave si les fichiers sont générés à chaque build, car ils ne sont pas très volumineux, mais le faire seulement quand ils sont périmés serait encore plus cool.

Remarque: Cela fait partie d'une construction Visual Studio et non d'une construction de ligne de commande. J'ai trouvé une réponse à une autre question disant que c'est possible à partir de VS, pas de ligne de commande: Run a Visual Studio custom tool at build time

Répondre

3

Vous pouvez écrire une macro VS qui exécute simplement l'outil personnalisé lorsque vous en avez besoin. La méthode d'automatisation est VSProjectItem.RunCustomTool. Jetez un oeil à cette réponse sur le SO pour un problème similaire: Run Custom Tool for entire solution

Sinon, PublicResXFileCodeGenerator est juste une enveloppe VS sur la StronglyTypedResourceBuilder Class, que vous pouvez automatiser la façon dont vous voulez. Je ne sais pas s'il y a une tâche Msbuild en plus, mais vous pouvez aussi en écrire une, ou vous pouvez simplement écrire un programme personnalisé dans une étape de pré-construction. Voici un exemple sur comment utiliser cette classe: Strongly typed resources in ASP.NET

+0

Je l'ai eu pour travailler. J'ai créé un complément Visual Studio qui exécute l'outil de construction personnalisé sur chaque fichier resx lorsque mon projet est construit. – Sjoerd

+0

J'ai écrit à ce sujet: [Exécuter l'outil personnalisé sur chaque fichier resx lors de la construction] (http://linuxonly.nl/docs/49/145_Run_custom_tool_on_each_resx_file_when_building.html) – Sjoerd

1

Regardez Code Project Article. Cela semble être un bon point de départ pour obtenir ce que vous voulez.

Questions connexes