У меня есть ASP.NET MVC 4 веб-проектаРеферировано проект app.config преобразования с SlowCheetah
WebUI
, который ссылается на ASP.NET 4 Code Library
DAL
В Библиотеке кодов имеется ссылка на SlowCheetah
2.5.5 Пакет NuGet и настроен с несколькими преобразованиями для него App.Config
.
WebUI
использует нормальные Web.Config
преобразования, но я также добавил ссылку на SlowCheetah
как испытание для моей проблемы, но это не изменило мою проблему.
Когда я публикую с помощью
MS Web Deploy
в Visual Studio 2012 или когда я публикую прямо
файловой системы
с использованием QA
конфигурации правильный Web.QA.config
помещен в корень моего веб-сайта, однако связанная конфигурация библиотеки классов не работает, на домашней странице появляется ошибка соединения sql, которая предупреждает меня о том, что правильное преобразование App.Config
, скорее всего, не используется для указанного проекта DAL
,
Я думал, что это будет .dll.config
файла в bin
папке для WebUI
, но я не слишком уверен, как я это работаю на другом веб-сервере, где я вручную изменил значение по умолчанию App.Config
и Web.Config
файлов и нет .dll.config
файл присутствует в корневом каталоге bin
.
Кто-нибудь знает, как это сделать?
UPDATE:
Примеры ниже: проект
DAL
Code Library App.Config
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="DAL.Properties.Settings.DefaultConnection" connectionString="Data Source=(local);Initial Catalog=MyDB;Integrated Security=True;" />
</connectionStrings>
</configuration>
Часть Web.Config
из моего WebUI
проекта
<connectionStrings>
<add name="WebUI.Properties.Settings.DefaultConnection" connectionString="Data Source=(local);Initial Catalog=MyDB;Integrated Security=True;" />
</connectionStrings>
Я использую файл Settings.settings для каждого проекта.
Как я могу объединить соединение App.Config с моим Web.Config так, чтобы оно было преобразовано во время публикации? я бы хотел, чтобы он просто использовал одно соединение при публикации в Интернете.
На данный момент проект, на который делается ссылка, ссылается на веб-приложение, если я правильно установил app.config
(что имеет смысл для меня с момента его ссылки .dll).
Есть ли это подключение DAL.Properties.Settings.DefaultConnection
к моему web.config
заменить тот, которым пользуется DAL
?
Я использую Dapper в своем проекте DAL. Соединение с базой данных, которое находится в моем приложении App.Config, используется в этом проекте DAL, как часть репозитория ... используется только тогда, когда WebUI не предоставляет мое репо с существующим соединением для запроса базы данных. Соединения имеют разные имена, если этот app.config не нужен, тогда публикация не должна работать? Я знаю, что это работает, когда я вручную устанавливаю по умолчанию Web.Config и App.Config в требуемое соединение, но хочу, чтобы публикация выбрала правильный файл конфигурации. – Pricey
Чтобы добавить к этому, DAL не знает о WebUI и не имеет доступа к соответствующей строке соединения в конфиге. – Pricey
Как правило, у вас есть один .config на границу приложения. Если это файл .exe, у вас есть app.config. Если это веб-приложение, у вас есть web.config. Только один. Когда вы запускаете ConfigurationManager в коде, он будет использовать .config, связанный с приложением, а не какой-то компонент. –