У меня есть веб-проект C#. Я открыл диспетчер конфигурации, для «Конфигурации активных решений» я выбралVisual Studio 2013 использует неправильный файл конфигурации
В новом окне я набрал имя (Dev) и не скопировал никаких настроек. Я проверил «Создать новые конфигурации проекта».
Я щелкнул правой кнопкой мыши по моему Web.config и выбрал «Add Config Transform». Web.Dev.config появился как indited под web.config.
Моя web.config содержит ошибочные значения базы данных:
<connectionStrings>
<add name="PdxContext" connectionString="Data Source=badServer; Initial Catalog=badDB; Integrated Security=true; MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
</connectionStrings>
Мои Web.Dev.config, в частности, содержит допустимые значения DB:
<connectionStrings>
<add name="PdxContext" connectionString="Data Source=.\sql2012; Initial Catalog=test; Integrated Security=True" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
... но когда я выбираю Dev и hit run, сайт запускается с использованием файла web.config, а не web.dev.config (он пытается подключиться к несуществующей базе данных с именем «badDB» на хосте «badServer»).
Если я нажимаю правой кнопкой мыши на web.dev.config и выбираю «Preview Transform», Transformed Web.config правильно показывает, что он будет использовать значение connectionStrings из web.dev.config.
О, и в Configuration Manager для Active Solution Конфигурация для «Dev» в столбце конфигурации имеет «Dev».
Любые мысли?
У меня также есть такая же проблема со встроенной конфигурацией отладки. Он игнорирует значения в Web.Debug.config –
Я думаю, что он работает только при развертывании. Но тогда как работают несколько разработчиков, работающих в одном проекте, но с разными конфигурациями? Думаю, им придется иметь собственную копию web.config и перезаписывать web.config с их копией каждый раз, когда они обновляют SVN, которые меняют web.config? Это кажется очень неуклюжим. –