Комментарии 18
Ладно, я понимаю, когда у английского термина нет русского варианта или перевод не отображает суть, но у слова property есть перевод и он точно отражает суть — свойство. Это о пропертях.
+3
Было бы гораздо интеснее если бы можно было через command line parameters передать, а так получается что надо несколько версий файла проекта держать. Или их чем-то автоматически править. Это не отличается от правки исходного кода или помены одного cs файла на разные версии при сборке.
0
И всё-таки, какие преимущества у вашего подхода относительно классического использования App.config файла?
+2
Главное, в net core нет App.config
-3
Мой поинт именно в том, чтобы зашить некоторую метоинформацию внутрь сборки. Мне не нужна возможность конфигурирования этой информации ни на каком этапе жизни приложения кроме шага сборки.
-1
НЛО прилетело и опубликовало эту надпись здесь
Это адаптация app.config в dotnet core, но, как я ответил выше, мой поинт именно в том, что я не хочу конфигурировать эти значения. Я решаю задачу сохранения метаинформации в сборку. Т.е. моя задача и решение не связаны с конфигурацией приложения. Конфигурация отлично решается стандартными средствами типа appsettings.json
-1
Задача: перед сборкой определить константу.
Решение 1: перед сборкой отредактировать строку в исходнике, что-то вида
Решение 2: перед сборкой отредактировать строку в csproj, в рантайме добавить строковую переменную, для инициализации значения которой привлечь механизм аттрибутов и рефлексию. Зачем?
Решение 1: перед сборкой отредактировать строку в исходнике, что-то вида
public const string myValue = "default";
, что приведет к максимально быстрому доступу к значению строки myValue при исполнении.Решение 2: перед сборкой отредактировать строку в csproj, в рантайме добавить строковую переменную, для инициализации значения которой привлечь механизм аттрибутов и рефлексию. Зачем?
0
Редактировать исходники перед сборкой *сарказм* это вы круто придумали *сарказм*, будете руками перед каждым коммитом править эту строку, чтоб билдмашина правильно собрала? Дорогой друг, читайте внимательно первый абзац статьи. Да и просто статью в целом:
Первая мысль, которая меня посетила: перед билдом сгенерить файлик с константами по шаблону, но хотелось бы обойтись без привлечения тяжелой артиллерии шаблонизаторов.
0
, что приведет к максимально быстрому доступу к значению строки myValue при исполнении.
Решение 2: перед сборкой отредактировать строку в csproj, в рантайме добавить строковую переменную, для инициализации значения которой привлечь механизм аттрибутов и рефлексию. Зачем?
По этому поводу могу сказать, что никто не мешает вам один раз на старте приложения зачитать все значения с подобных атрибутов в статическую структуру и использовать так же быстро как и в вашем «Решение 1». Просто в статье я посчитал ненужным писать уж столь очевидные вещи.
0
О, спасибо, прикольная вещь. Можно, например, так зашивать на сборочном сервере в код ключи доступа к каким-то ресурсам или маркировать бинарники отдаваемые пользователю.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Сохранение значений в .Net приложение на этапе сборки