Этот вопрос, по-видимому, относится к Choose settings based on machine name, заданному ранее, однако у меня есть более конкретное использование для него, которое, как я надеюсь, выпекается в .Net по умолчанию.Выберите web.config или app.config Строка подключения на основе имени машины
Я один из нескольких человек в небольшой команде, пишущей настольные и веб-приложения DotNet. Мы используем git как исходный репозиторий, и становится утомительно постоянно менять строки подключения файла .config для каждой среды разработки.
Я знаю, что есть несколько способов преодолеть эту проблему; которые варьируются от того, чтобы не хранить файлы .config в репо в первую очередь (и использовать .gitignore), до написания кода для синтаксического анализа файла конфигурации, вручную добавляющего префиксы и т. д., как это предлагается в другом вопросе.
Однако это кажется слишком чрезмерно упрощенным и утомительным; так как в производственной среде может быть множество законных причин хранить несколько строк подключения в файле конфигурации - например, наличие нескольких серверов - это заставляет меня думать, что должен быть более простой способ сделать это.
Так что мой вопрос заключается в следующем: Есть ли способ в Dotnet .config файлов, чтобы иметь несколько строк подключения, что структура «автоматически» знает, какой из них нагрузки на основе свойства, такие как окружающая среда или имя машины ?
Ничего себе, просто ничего себе. Доверяйте Microsoft, чтобы такой чрезмерно спроектированный способ сделать что-то простое. Эта статья выглядит именно тем, что я ищу, но человек дал мне головную боль и заставил меня спать! Я надеялся на что-то чрезвычайно тривиальное, но я попытаюсь собрать силы и углубиться в это более подробно. – Ash
Локальные (MS) экземпляры SQL часто могут ссылаться на простые. символ (т. е. «.SQLEXPRESS»), который может быть полезен и не требует каких-либо магических преобразований после сборки. В противном случае вам придется делать некоторые работы, извините. – icodecsharp
Да, это на самом деле лучшее предложение на данный момент - это избавит меня от неприятностей для текущего проекта ... спасибо. – Ash