#c# #configuration #web-config #castle-windsor #app-config
#c# #конфигурация #web-config #castle-windsor #app-config
Вопрос:
У меня есть решение для нескольких проектов (веб-сайт и различные другие проекты для DAL / BL и т.д.). Я пытаюсь интегрировать Castle Windsor в бизнес-логику, чтобы помочь мне с написанием некоторых модульных тестов (я знаю, что модульные тесты и Castle Windsor действительно должны быть интегрированы до завершения проекта, долгая история).
Проблема, с которой я сталкиваюсь, связана с конфигурационными файлами, я добавил информацию о конфигурации Castle Windsor в мой BL projects app.config, но когда веб-сайт или модульные тесты (оба из которых находятся в разных проектах) обращаются к бизнес-логике, Castle Windsor, похоже, обращается к своим собственным конфигурационным файлам, а не к конфигурационному файлу в BL.
Конечно, мне не нужно добавлять информацию о конфигурации к каждому проекту в моем решении? Это кажется немного бессмысленным.
Ответ №1:
Это может быть проще, чем вы думаете. Настройте Castle Windsor в отдельном файле конфигурации, например «Components.config» и поместите его в какое-нибудь общее место.
После этого вам нужно только добавить этот файл «как ссылку» в ваши проекты. Это достигается, когда вы щелкаете правой кнопкой мыши в какой-либо папке или проекте и выбираете «Добавить существующий элемент». В браузере файлов проверьте, есть ли на кнопке «Добавить» какая-нибудь стрелка. Щелкните там и выберите «Добавить в качестве ссылки».
Вы заметите, что на значке вашего файла конфигурации в Solution Explorer есть какая-то стрелка, похожая на ярлык Windows. Теперь щелкните по этому связанному файлу и откройте его свойства, а в разделе «Действие сборки» выберите «Копировать всегда». Вот и все!
Разве вы не знаете, как использовать автономные файлы конфигурации в Castle Windsor? Ознакомьтесь с этой статьей:
Обратите внимание, что теперь вы редактируете один файл и влияете на все связанные файлы сразу!
Комментарии:
1. Я люблю stack overflow 🙂 спасибо за ваш быстрый ответ. Теперь все работает идеально
2. Нет проблем! Мне нравится делиться знаниями: D