Нельзя изменить файл config

Обновлено: 04.07.2024

Какие преимущества у файла app.config
Какие преимущества у файла app.config. Можно же хранить всё в самом коде. Так чем же удобнее xml?

Получить секцию runtime из файла App.config
Добрый день. Подскажите, как можно получить секцию runtime из файла App.config (необходимо для.

Стирание секции appSettings из файла App.config
Доброго времени суток, форумчане. У меня появилась необходимость очищать секцию "appSettings" из.

Не изменяется App.config
Есть метод public void SetConfig(String Key,String Value) < .

kmet_misha, ятд что все это readonly. Можно через Linq to Xml работать с этим файлом. можно, но хочется быть человеком а не гавнокодером)
конечно проще написать говонокод, чем найти причину
а зачем тогда все эти методы придуманы если файл *.config readonly.

Первый шаг на пути к успеху — не меняйте файл App.config

зачем тогда все эти методы придуманы если файл *.config readonly?

В файле App.config хранятся настройки по умолчанию и настройки, общие для всех пользователей и в принципе неизменные. Именно поэтому файл лежит рядом с .exe, который, как правило, устанавливается в папку Program Files, где обычным пользователям доступ для изменения файлов закрыт.

Если вам нужны изменяемые настройки, то используйте user.config. В шарпе есть полная поддержка через класс Settings.

ну попробую использовать user.config. Просто интересно, везде написано, что можно изменять app.config и куча способов как это сделать, даже на MSDN. А вы говорите что этот файл не изменяется программно. Вы противоречите MSDN?
вот ссылка: Как можно изменить файл конфигурации во время работы приложения?
Цель изменения файла конфигурации в изменении строки подключения к БД(например БД изменила свое имя или пароль или место раположения)

Решение

Просто интересно, везде написано, что можно изменять app.config и куча способов как это сделать, даже на MSDN.

Можно конечно, почему нет?

А вы говорите что этот файл не изменяется программно. Вы противоречите MSDN?

Это где я, простите, такое сказал? Да еще и MSDN противоречил?
Не нужно != не можно

Цель изменения файла конфигурации в изменении строки подключения к БД(например БД изменила свое имя или пароль или место раположения) Вот так я изменял путь к локальному файлу SQLite в скрипте для инсталлера:

Все прекрасно работало. Настройки хранятся в файле <exename>.exe.config рядом с программой.

Если вы пытаетесь изменить файл из процесса, которому он принадлежит, то перед вызовом config.Save добавьте такую строку:

Это если вы изменяете/добавляете/удаляете строки соединения.

Что такое файлы конфигурации и как их редактировать?

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

Эти текстовые файлы, что неудивительно, называются «конфигурационными файлами». Если вы хотите перейти от «пользователя» к «продвинутому пользователю», вам нужно знать, как их настроить.

Что такое файлы конфигурации?

Прежде чем мы углубимся в технические подробности, давайте сначала конкретно определим, что такое файл конфигурации.

Файлы конфигурации — это, по сути, файлы, которые содержат информацию, необходимую для успешной работы программы, которые структурированы особым образом. Вместо того, чтобы быть жестко запрограммированными в программе, они настраиваются пользователем и, как правило, хранятся в текстовом файле (хотя ранее я видел программы, которые использовали базы данных SQLite. как их конфигурационные файлы).

Удивительно, но не существует определенного стандарта о том, как должны работать файлы конфигурации или как они должны выглядеть. Это полностью зависит от прихоти разработчика программы.

Некоторые конфигурационные файлы структурированы в формате собственного дизайна разработчика. Другие используют широко известные стандарты, используемые для структурирования данных, такие как формат JSON (нотация объектов JavaScript), YAML (язык разметки YAML) или XML (расширяемый язык разметки). Некоторые программы загружают информацию, хранящуюся в их конфигурационных файлах, когда они запускаются, в то время как другие периодически проверяют, была ли она изменена.

ConfigJSON

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

Хотя это не исключительно Linux вещь. В зависимости от того, что вы делаете, вам, возможно, придется редактировать их в Windows или Mac OS X.

Как выглядят файлы конфигурации?

Теперь давайте взглянем на некоторые реальные конфигурационные файлы. Как мы упоминали ранее, они бывают разных форм и размеров. Один файл конфигурации, с которым вы почти наверняка знакомы, — это файл hosts, который используется в Windows, Mac и Linux для сопоставления IP-адресов с именами узлов вручную.

Хосты

В Windows вы можете найти его в папке c: \ windows \ system32 \ drivers \ etc \ hosts . На Mac и Linux это будет в / etc / hosts .

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

ВИМ-vundle-код

В Linux и Mac OS X некоторые программы требуют, чтобы пользователь сохранял файл конфигурации в домашнем каталоге с точкой в ​​начале имени файла. Эти конфигурационные файлы иногда имеют расширение .rc, и в разговорной речи называются «точечные файлы».

Одна из программ, которая следует этому конкретному соглашению, — текстовый редактор Vim . В прошлом мы говорили о том, как настроить VIM, отредактировав его конфигурационный файл настроек настроек

Файлы конфигурации даже используются в видеоиграх для определения и управления некоторыми действиями, такими как сопоставления клавиш. Конфигурационный файл ниже взят из Black Mesa — фанатского ремейка оригинального Half Life .

BlackMesa

В оригинальной версии Deus Ex , выпущенной в 2000 году, пользователю фактически пришлось отредактировать файл конфигурации, чтобы включить читы!

Как редактировать файлы конфигурации

Итак, теперь мы знаем, для чего используются файлы конфигурации, давайте поговорим о том, как мы можем их редактировать.

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

Пользователи Windows уже имеют предустановленный текстовый редактор. Я говорю о блокноте. Хотя стоит подчеркнуть, что для Windows существует множество отличных текстовых редакторов сторонних производителей, включая Notepad ++, Atom и Sublime Text Editor.

AtomHosts

В Linux наиболее близким аналогом Notepad является Gedit . Вы также можете рассмотреть возможность использования текстового редактора командной строки, такого как Nano или Vim . Ради большей эффективности я сильно склоняюсь к текстовому редактору Vim. Это позволяет мне легко переходить на разные позиции в файле конфигурации, просто используя всего несколько нажатий клавиш.

В Mac OS X (или MacOS Sierra, скоро станет известно, ), есть несколько текстовых редакторов, которые поставляются предварительно установленными. Вы, вероятно, знакомы с TextMate. Он также включает несколько текстовых редакторов командной строки, таких как Vim и Nano.

Когда вы редактируете файл, важно убедиться, что вы соблюдаете его соглашения. Это можно решить, просто взглянув на это. Некоторые конфигурационные файлы, такие как файл hosts, объяснят вам эти соглашения. Другие заставят вас прочитать некоторую документацию или пару постов в блоге.

Наконец, если редактируемый файл конфигурации структурирован в формате JSON или XML, вы можете использовать более мощный текстовый редактор с подсветкой синтаксиса. Я рекомендую Атом. Это повысит вашу точность, показывая, когда вы допустили ошибку.

Что, если это не работает?

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

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

В Windows щелкните правой кнопкой мыши Блокнот (или любой текстовый редактор, который вы используете) и выберите Запуск от имени администратора .

NotepadRunAsAdmin

Вторая распространенная проблема — ошибка пользователя. Если что-то не работает, это может быть ваша вина. Убедитесь, что вы не сделали никаких опечаток, и что вы следовали соглашениям файла конфигурации. Я знаю, это кажется очевидным, но простая орфографическая ошибка или забывание закрыть пару речевых меток может сделать весь файл бесполезным.

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

Файлы конфигурации важны

Более того, они являются неотъемлемой частью использования Linux. Знание того, как правильно их редактировать, поможет вам бесконечно.

Есть ли какие-то другие важные навыки, которые, по вашему мнению, должны знать пользователи Linux от начального до среднего уровня? Позвольте мне знать в комментариях ниже.

Итак начнем, нам нужны всего лишь два файла autoexec.cfg и config.cfg Это файлы, где хранятся ваши настройки. Конфиг, это место, где обитают бинды, а автоэкзек, жилище алиасов. Bind - это команда, приклеивающая к какой нибудь кнопке определенное действие, например bind ctrl drop приклеивает к кнопке CTRL функцию выбросить оружие.

Alias - приклеивает к какой-нить команде ряд определенных действий, например alias awp "buy; menuselect 4; menuselect 6; buyammo1; menuselect 0;" создает команду awp, при исполнении которой открывается меню покупки, выбирается раздел 4 (винтовки), затем раздел 6 (сама АВП), покупается один комплект патронов и выходится из меню покупки. Теперь, введя в конфиге команду bind "f7" awp, вы получаете на клавише F7 полный цикл приобредения снайперки.

Есть еще в конфиге куча команд, отражающих разные игровые параметры, но это тема отдельного разговора. Приведу лишь пару примеров:

zoom_sensitivity_ratio "0.700" - разная чувствительность мыши с/без приближения. В данном случае чувствительность мыши в режиме приближения составляет 0,7 от обычной.

scr_conspeed 9999 - скорость выпадания консоли (в данном случае безумно высокая)

sv_gravity - 800 гравитация в игре. (в данном случае стандартная)

Что бы узнать значения той или иной переменной, надо просто вписать ее в консоли (т.е. просто sv_gravity выдаст вам значение этой переменной). Естественно, часть команд работают только на сервере (например та-же гравитация или всеми любимый kick).

При создании своих автоэкзека и конфига, важно знать, что-же с ними происходит. Когда вы подключаетесь к серваку, загружается сначала автоэкзек, а потом конфиг, который обнуляет все бинды командой Unbundall (в начале конфига), а потом переназначает управление. Таким образом, использование команды bind в autoexec.cfg чревато тем, что этот бинд не будет работать. Решить эту проблему можно несколькими путями:

1. Удалить нахрен unbindall в конфиге. На компах, которыми пользуются несколько чело не рекомендую, дабы не получилась петрушка.
2. Сразу после unbindall вписать exec autoexec.cfg, эта команда выполнит автоэкзек еще раз.
3. Не пользоватся биндами в автоэкзеке, возьмем к примеру алиас для включения/выключения радара:
autoexec.cfg
alias radaron "+showradar; bind KEY radaroff"
alias radaroff "-showradar; bind KEY radaron"
bind "KEY" "radaroff"
эта подпрограмма как раз работать и не будет, т.к. есть бинды. А вот эта программа
autoexec.cfg
alias radaron "+showradar; alias radar radaroff"
alias radaroff "-showradar; alias radar radaron"
radaron
config.cfg
bind "KEY" "radar"
будет, т.к. в автоэкзеке биндами и не пахнет. Кстати, дабы не возникла петрушка в конфигах, можно использовать «//». Это обыкновенный REM, так что строчку
// Клинтон дурак
ни автоэкзек ни конфиг читать не будут.
Если вы обратили внимание, то к некоторым командам вначале приставляется + и -. Это означает начало и конец определенного действия. Т.е. bind TAB +showscores позволяет при нажатии табуляции наблюдать результаты игры, пока кнопка нажата. При отпускании кнопки результаты исчезают. И, т.к. при создании алиасов вы заменяете одной клавишей кучу телодвижении, то помните, среди них (телодвижений) есть как нажатия на кнопки, так и «отжатия».
Далее: при жутком дефиците окружающих левую руку клавиш можно использовать так-называемые «метабинды»
alias F2slot "buymp5"
alias +hold "alias F2slot buytmp"
alias -hold "alias F2slot buymp5"
alias buymp5 "buy; menuselect 3; menuselect 1"
alias buytmp "buy; menuselect 3; menuselect 2"
bind "F2" "F2slot"
bind "SHIFT" "+hold"
То есть, при нажатии на F2 вы покупаете MP5, а при нажатии SHIFT+F2, вы покупаете ТМР.

Покупка оружия
bind "f8" Para
alias Para "buy; menuselect 5; menuselect 1; buyammo1; buyammo1; buyammo1; buyammo1; buyammo1; buyammo1; buyammo1; menuselect 0;"
bind "f7" awp
alias awp "buy; menuselect 4; menuselect 6; buyammo1; buyammo1; buyammo1; buyammo1; buyammo1; menuselect 0;"
bind "f3" gren
alias gren "buy; menuselect 8; menuselect 4; menuselect 0;"
bind "f6" m4
alias m4 "buy; menuselect 4; menuselect 3; buyammo1; buyammo1; buyammo1; buyammo1; buyammo1 exitmenu;"
bind "f4" vest
alias vest "buy; menuselect 8; menuselect 2;"
bind "f5" cammando
alias cammando "buy; menuselect 4; menuselect 2; buyammo1; buyammo1; buyammo1; buyammo1;"
bind "ins" p90
alias p90 "buy; menuselect 3; menuselect 3; buyammo1; buyammo1; buyammo1;"
bind "del" p228
alias p228 "buy; menuselect 1; menuselect 4; buyammo2; buyammo2; buyammo2; buyammo2; buyammo2; buyammo2;"

Быстрое переключение оружия
На "2" висят пистолеты
alias secondary "slot2; +attack; wait; wait; -attack"
bind 2 secondary

Пьяный ежик
bind "ALT" "+STARTRUN"
alias +STARTRUN "bind w DRUNKRUN"
alias -STARTRUN "bind w +forward"
alias DRUNKRUN "weapon_knife; wait; +attack; wait; -attack; fw; wait; lw; wait; fw; wait; rw; wait; jp; wait; dk; wait; lw; wait; bw; wait; rw; wait; fw; wait; jp; wait; fw; wait; lw; wait; dk; wait; fw; wait; jp; wait; rw; wait; fw"
alias fw "+forward; wait; wait; wait; -forward"
alias bw "+back; wait; -back"
alias lw "+moveleft; wait; wait; -moveleft"
alias rw "+moveright; wait; wait; -moveright"
alias jp "+jump; wait; -jump"
alias dk "+duck; wait; -duck"
bind "ALT" "+STARTRUN"
alias +STARTRUN "bind w +DRUNKRUN"


Подпрыгнул / присел
alias +jd "+jump;wait;+duck"
alias -jd "-jump;wait;-duck"


Я использую программу FinalBIG и рекомендую ей пользоваться.
ВНИМАНИЕ! ТОЧНО ПРИДЕРЖИВАТЬСЯ АЛГОРИТМА. Иначе игра может вылетать, или не запускаться.

1. В папке с FIFA Manager делаем резервную копию файла config.big
2. Запускаем FinalBIG.exe
3. Жмем file > open > открываем config.big
4. Появился столбец с .ini файлами.
5. Чтобы редактировать нужный файл.ini: выделяем файл > edit > extract > задаете папку для сохранения.
6. Открываем распакованный файл через блокнот, редактируем нужные параметры, сохраняем.
7. В FinalBIG выбираем в столбце файл с названием редактируемого файла в блокноте.
выделяете его > edit > delete file. Он изчезнем из списка.
8. Теперь, edit > add file > выбираем файл, который редактировали в блокноте > задаете ему имя удаленного файла(если не менять имя файла при сохранении, то просто удалить все кроме последнего названия с .ini (например: C:/Program Files/common.ini (оставить только подчеркнутое)
9. в столбце снова появился файл с названием удаленного. Жмем file > save.

Все, теперь можно проверять плоды проделанной работы. Запускайте Manager.

Все процедуры описанные выше, вы делаете на свой страх и риск, но если точно следовали указаниям, то проблем не возникнет. На всякий случай есть резервная копия config.big.

Спомощью этой программы можно редактировать все файлы с расширением .big


Некоторая инфа взята из "Игромании №5 2008" года (статья "Убойный футбол" стр.184)
Первым делом в файле common.ini я отредактировал параметр CAMERA_ZOOM и придал ему параметр 100. Так камера немного крупнее и следить за происходящим на поле стало интереснее.

DIFFICULTY_LEVEL - отвечает за сложность матча. Изменив на 3 игра стала более живая. Меньше делается глупых ошибок.

POWERUPSPEED - чем больше параметр, тем интенсивней ускорение игрока, но зависит от навыка Ускорение и Скорость. Я поставил значение 46.

FATIGUE - определяет насколько быстро устают футболисты. (0 - не устают, 2 - очень быстро устают, по умолчанию - 1, может принимать дробные значения.) Сам не пробовал, работет или нет, не знаю.

Читайте также: