2016-05-25 5 views
1

Этот вопрос, по-видимому, относится к Choose settings based on machine name, заданному ранее, однако у меня есть более конкретное использование для него, которое, как я надеюсь, выпекается в .Net по умолчанию.Выберите web.config или app.config Строка подключения на основе имени машины

Я один из нескольких человек в небольшой команде, пишущей настольные и веб-приложения DotNet. Мы используем git как исходный репозиторий, и становится утомительно постоянно менять строки подключения файла .config для каждой среды разработки.

Я знаю, что есть несколько способов преодолеть эту проблему; которые варьируются от того, чтобы не хранить файлы .config в репо в первую очередь (и использовать .gitignore), до написания кода для синтаксического анализа файла конфигурации, вручную добавляющего префиксы и т. д., как это предлагается в другом вопросе.

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

Так что мой вопрос заключается в следующем: Есть ли способ в Dotnet .config файлов, чтобы иметь несколько строк подключения, что структура «автоматически» знает, какой из них нагрузки на основе свойства, такие как окружающая среда или имя машины ?

ответ

1

Вопрос для ясности: Есть что-то около config transforms, которые не отвечают этим требованиям? Настройте конфигурацию активного решения на основе настроек менеджера конфигурации сборки (среды) и замените узлы по мере необходимости. Мы делаем это все время для веб-проектов, консолей и сервисных проектов. Идеально подходит для веб-сайтов (встроенных) и других (с некоторыми незначительными настройками).

+0

Ничего себе, просто ничего себе. Доверяйте Microsoft, чтобы такой чрезмерно спроектированный способ сделать что-то простое. Эта статья выглядит именно тем, что я ищу, но человек дал мне головную боль и заставил меня спать! Я надеялся на что-то чрезвычайно тривиальное, но я попытаюсь собрать силы и углубиться в это более подробно. – Ash

+1

Локальные (MS) экземпляры SQL часто могут ссылаться на простые. символ (т. е. «.SQLEXPRESS»), который может быть полезен и не требует каких-либо магических преобразований после сборки. В противном случае вам придется делать некоторые работы, извините. – icodecsharp

+0

Да, это на самом деле лучшее предложение на данный момент - это избавит меня от неприятностей для текущего проекта ... спасибо. – Ash

Смежные вопросы