Попытка создать правила сборки для создания класса доступа к файлу resx - PullRequest
0 голосов
/ 17 октября 2011

У меня есть файл resources.resx в моем проекте C ++ / CLI, и я хочу создать сборку для автоматической сборки класса средства доступа, чтобы при необходимости получать доступ к ресурсам.Я много искал, но пока не нашел достойного решения (используя vs2010).

Я могу создать класс доступа с помощью этого:

resgen / str: c ++ resources.resx

Это создает файл resources.h (который я хочу) и файл resources.resources (который я могу удалить).Но я хотел бы, чтобы команда запускалась всякий раз, когда я изменял файл resources.resx, и это доставляет мне некоторую головную боль, поскольку у файла уже есть цель сборки, «Управляемый компилятор ресурсов», и хотя он запускает resgen для этого файла, онвключает в себя 7 других файлов ресурсов и не имеет ключа / str.

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

Есть предложения?

1 Ответ

0 голосов
/ 19 октября 2011

Я решил проблему следующим образом.В Pre-Build Event проекта я вставил это:

resgen /str:c++,myApp,resources,resources.h.new resources.resx myApp.resources.resources
del myApp.resources.resources
fc /b resources.h resources.h.new > NUL:
if NOT "%ERRORLEVEL%"=="0" ( type resources.h.new > resources.h )
del resources.h.new

По сути, я создаю новый resources.h и сравниваю его с существующим файлом.Если есть какие-либо различия, я использую тип для копирования файла, чтобы обновить метку времени.Это заставляет механизм сборки обновлять resources.h только тогда, когда это необходимо.Не красиво, но оно выполняет свою работу.

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