Запуск PublicResXFileCodeGenerator во время компиляции - PullRequest
12 голосов
/ 24 июня 2009

Мы используем PublicResXFileCodeGenerator для генерации файлов * .Designer.cs из файлов * .resx. В настоящее время они генерируются всякий раз, когда сохраняется .resx или когда мы щелкаем правой кнопкой мыши и выбираем «Запустить пользовательский инструмент».

Я хочу иметь возможность запускать этот инструмент автоматически во время сборки, а не делать это вручную. Файлы Designer.cs не находятся под контролем исходного кода, поэтому раздражает необходимость генерировать их вручную каждый раз, когда кто-либо другой изменяет ресурс, или при первой же проверке. Это нормально, если файлы генерируются при каждой сборке, поскольку они не очень большие, но делать это только тогда, когда они устарели, было бы еще круче.

Примечание. Это будет частью сборки Visual Studio, а не сборки командной строки. Я нашел ответ на другой вопрос о том, что это возможно из VS, но не из командной строки: Запустить пользовательский инструмент Visual Studio во время сборки

Ответы [ 2 ]

3 голосов
/ 14 октября 2011

Вы можете написать макрос VS, который просто запускает пользовательский инструмент, когда вам это нужно. Метод автоматизации - VSProjectItem.RunCustomTool . Посмотрите на этот ответ для SO на похожую проблему: Запустите Custom Tool для всего решения

В противном случае, PublicResXFileCodeGenerator - это просто оболочка VS для StronglyTypedResourceBuilder Class , которую вы можете автоматизировать так, как вы хотите. Я не знаю, есть ли над ней Msbuild Task, но вы также можете написать ее или вы можете написать специальную программу на этапе предварительной сборки. Вот пример использования этого класса: Строго типизированные ресурсы в ASP.NET

1 голос
/ 22 августа 2009

Взгляните на этот Код проекта статьи . Похоже, это будет хорошей отправной точкой, чтобы получить то, что вы хотите.

...