Не отслеживает созданный дизайнером код C #: отказывается генерировать с чистой проверкой - PullRequest
1 голос
/ 24 июня 2009

В нашем проекте ASP.NET MVC у нас есть файл Strings.resx и сопровождающий автоматически сгенерированный файл Strings.Designer.cs.

Отслеживание файла Strings.Designer.cs в контроле исходного кода создает кучу уродливых конфликтов слияния, и в любом случае он автоматически генерируется, поэтому мы решили удалить его (удалить его из системы контроля версий и игнорировать локальную копию файла).

Это работает хорошо, за исключением того, что при новой проверке источника файл Strings.Designer.cs не существует. PublicResXFileCodeGenerator, который генерирует файл из Strings.resx, тормозит с предупреждением:

«Произошел сбой пользовательского инструмента PublicResXFileCodeGenerator при обработке файла« Views \ Setup \ App_LocalResources \ Strings.resx ».»

И в результате все строки в этом файле генерируют ошибки компиляции. Это означает, что вы должны вручную щелкнуть правой кнопкой мыши каждый Strings.resx файл в проекте и выбрать «Запустить пользовательский инструмент».

Есть ли способ заставить инструмент генератора кода ResX запускаться автоматически, даже если Strings.Designer.cs еще не существует?

(Мы экспериментировали с ResGen, но он привередлив - он отказывается генерировать файлы Strings с правильным именем файла и пространством имен.)

1 Ответ

1 голос
/ 26 июня 2009

Вы можете использовать ResGen.exe для явной регенерации файлов .resources и .Designer.cs из вашего .resx. Просто добавьте команду, похожую на следующую, в ваши события предварительной сборки:

ResGen.exe Strings.resx NameSpace.Strings.resources /publicClass /str:cs,"Your.Namespace",Strings,Strings.Designer.cs

... который сгенерирует файл Your.Namespace.Strings.resources и файл Strings.Designer.cs с классом "Strings" в пространстве имен "Your.Namespace".

(переключатель / publicClass указывает ResGen генерировать открытые члены, а "cs" - это выбор языка C #.)

Подробнее здесь: http://msdn.microsoft.com/en-us/library/ccec7sz1(VS.80).aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...