powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / MSBuild автоматизация компиляции с изменением констант в проекте
3 сообщений из 3, страница 1 из 1
MSBuild автоматизация компиляции с изменением констант в проекте
    #38897868
Greedy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Есть задача компилировать проект VS2010 , где каждый получаемый на выходе ехе-шник отличается значением набора констант. Константы прописываются в настройках проекта Settings , обращения в коде к которым(C#) следующего типа:
Код: c#
1.
string str = MyNamespace.Properties.Settings.Default.Param1;



Проблема: так как значения этих параметром лежат в xml файлах в папке с проектом, то я перед вызовом MSBuild меняю их, всё компилируется, НО после компиляции в папке появляются 3 файла: ехе-шник,*.pdb и *.exe.config, и если запустить ехе-шник, то всё выглядит как надо, но если удалить *.pdb и *.exe.config, то ехе-шник запустится с теми параметрами, которые были установлены в VS2010. Так как распространяется только ехе-файл, то получается, что при компиляции константы не были изменены на нужные, а просто берутся из внешнего файла с настройками(то есть из *.exe.config).

Вопрос: как менять константы перед компиляцией или может я вообще не в том направлении копаю?
...
Рейтинг: 0 / 0
MSBuild автоматизация компиляции с изменением констант в проекте
    #38898131
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Greedy, моментально напрашивается вопрос - что мешает распространять exe и и exe.config? В этом случае можно менять файл конфигурации уже после компиляции не трогая код.

Если хочется чтобы параметры жили внутри exe-шника, то следует выбрать другой механизм. Например, embedded ресурсы. В этом случае их правда нельзя будет изменить в течение работы программы. Но ты говыришь о константах что наводит на мысль что менять их нет необходимости.
...
Рейтинг: 0 / 0
MSBuild автоматизация компиляции с изменением констант в проекте
    #38898219
Greedy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Одна из причин нежелания использовать конфигурационный файл - это легкость его модификации сторонними лицами, что нежелательно. Даже учитывая тот момент, что эти пользовательские параметры все равно сохраняются где-то на диске при первом изменении любых других параметров(не констант), то этот файл всё же сложнее найти для неискушенного пользователя.
По большому счету можно вообще в своем классе прописать эти константы(исключив сохранение в каком-либо конфиге на диске), но это не решит вопроса, как перед компиляцией менять эти константы!!
Было бы вообще шикарно, если бы каким-либо образом используя рефлексию, например, затягивать ехе-шник, менять константы, и затем сохранять.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / MSBuild автоматизация компиляции с изменением констант в проекте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]