Как зайти в Даркнет?!
25th January, 01:11
5
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
893
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
912
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4395
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Как управлять настройками конфигурации для каждого разработчика
В проекте .NET предположим, что у вас есть параметр конфигурации, например строка подключения, хранящаяся в файле app.config, который отличается для каждого разработчика в вашей команде (они могут использовать локальный сервер SQL, или конкретный экземпляр сервера, или использовать удаленный сервер и т. д.).
Как вы можете структурировать свое решение так, чтобы каждый разработчик мог иметь свою собственную разработку "preferences" (т. е. не проверено в системе управления версиями), но предоставляет строку подключения по умолчанию, которая проверяется в системе управления версиями (тем самым предоставляя правильные значения по умолчанию для процесса сборки или новых разработчиков).
Edit: может ли метод "
file ", предложенный @Jonathon, каким-то образом использоваться с разделом connectionStrings ?
AppSettings можно переопределить с помощью локального файла:
<appSettings file="localoveride.config"/>
Это позволяет каждому разработчику сохранять свои собственные локальные настройки.
Что касается строки подключения, то в идеальном мире все разработчики должны подключаться к тестовому DB, а не запускать SQL сервера каждый.
Однако я нашел, что лучше всего хранить файл с именем Web.Config.Prd в системе управления версиями и использовать его для развертывания сборок. Если кто-то модифицирует web.config, он также должен добавить изменение в .PRD file...There-там нет хорошей автоматизации :(
Edit: может ли быть предложен метод "file"
by @Jonathon можно как-то использовать с
connectionStrings секция?
Edit: может ли быть предложен метод "file" by @Jonathon можно как-то использовать с connectionStrings секция?
Или вы можете иметь несколько строк подключения в файле конфигурации checked in и использовать ключ AppSettings, чтобы определить, какой ConnectionString будет использоваться. Для этой цели в моей кодовой базе есть следующее:
public class ConnectionString
{
public static string Default
{
get
{
if (string.IsNullOrEmpty(ConfigurationManager.AppSettings["DefaultConnectionStringName"]))
throw new ApplicationException("DefaultConnectionStringName must be set in the appSettings");
return GetByName(ConfigurationManager.AppSettings["DefaultConnectionStringName"]);
}
}
public static string GetByName(string dsn)
{
return ConfigurationManager.ConnectionStrings[dsn].ConnectionString;
}
}
Я всегда делаю шаблоны для своих конфигурационных файлов.
В качестве примера я использую NAnt для построения своих проектов. У меня есть проверенный файл под названием local.properties.xml.template. Моя сборка NAnt предупредит разработчика, если local.properties.xml не существует. Внутри этого файла будут находиться настройки конкретной рабочей станции. Шаблон будет возвращен в систему управления версиями, но фактической конфигурации не будет.
Я использую довольно архаичный дизайн, который просто работает.
- /_Test__app.config
- /_Prod__app.config
- /app.config
Затем в моем сценарии nant у меня есть задача, которая копирует текущую среду сборки плюс _ app.config и копирует ее в app.config.
Это неприятно, но вы не можете попасть между провайдерами и ConfigurationManager, чтобы подменить его, сказав, что провайдеры смотрят на "dev" или "prod" строку подключения и просто имеют 3 именованные строки подключения.
nant задача:
<target name="copyconfigs" depends="clean">
<foreach item="File" property="filename" unless="${string::get-length(ConfigPrefix) == 0}">
<in>
<items>
<include name="**/${ConfigPrefix}App.config" />
<include name="**/${ConfigPrefix}connectionstrings.config" />
<include name="**/${ConfigPrefix}web.config" />
</items>
</in>
<do>
<copy overwrite="true" file="${filename}" tofile="${string::replace(filename, ConfigPrefix,'')}" />
</do>
</foreach></target>