0

У меня есть 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?

ответ

1

Все ваши настройки для веб-приложения будут получены из файла web.config - приложение app.config не будет использоваться или развертываться с веб-приложением. Скорее всего, этот конфиг существует, потому что вы используете Entity Framework, и именно там функциональность EDMX сохраняет свою строку подключения. Если вы поместите строку соединения в web.config (и используйте соответствующие преобразования конфигурации), вы должны быть хорошими.

+0

Я использую Dapper в своем проекте DAL. Соединение с базой данных, которое находится в моем приложении App.Config, используется в этом проекте DAL, как часть репозитория ... используется только тогда, когда WebUI не предоставляет мое репо с существующим соединением для запроса базы данных. Соединения имеют разные имена, если этот app.config не нужен, тогда публикация не должна работать? Я знаю, что это работает, когда я вручную устанавливаю по умолчанию Web.Config и App.Config в требуемое соединение, но хочу, чтобы публикация выбрала правильный файл конфигурации. – Pricey

+0

Чтобы добавить к этому, DAL не знает о WebUI и не имеет доступа к соответствующей строке соединения в конфиге. – Pricey

+0

Как правило, у вас есть один .config на границу приложения. Если это файл .exe, у вас есть app.config. Если это веб-приложение, у вас есть web.config. Только один. Когда вы запускаете ConfigurationManager в коде, он будет использовать .config, связанный с приложением, а не какой-то компонент. –

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

  • Нет связанных вопросов^_^