|
Файл параметров как ссылка в двух и более проектах
|
|||
---|---|---|---|
#18+
Добрый день. Товарищи такая делема: Есть солюшен с проектом приложения (.exe) и много много проектов библиотек (.dll). В библиотеках находятся типизированные наборы данных. Так вот дабы всем адаптерам таблиц задать одну и ту же строку подключения в дизайнтайме , я в Settings.settings основного приложения добавил строку подключения, а сам файл с параметрами Settings.settings подобавлял в проекты как линк (Add as link) и уже у адаптеров присвоил строку подключения из файла-линка. И все бы хорошо, меняешь строку подключения в основном приложении и тут же все длл подхватывают её, красота! ...да не тут то было, это работает до тех пор пока добавляешь только один линк на параметры, как только добавляешь линк у второй библиотеки, первая перестает видеть пространство имен...хрень какая-то, уже перелопатил .csproj все в норме. Пока ссылка на файл параметров только у одной библиотеки все ок, как только добавляешь линк еще одной библиотеке предыдущая перестает видеть пространство имен Settings и т.д. В итоге на весь солюшен файл параметров как ссылка может видеть только один проект длл. Кто-нибудь сталкивался с подобным? Как побороть? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2013, 18:00 |
|
Файл параметров как ссылка в двух и более проектах
|
|||
---|---|---|---|
#18+
Thor234, У меня была подобная задача. Решил следующим образом: 1. Вынес общие для разных модулей настройки в один XML файл. 2. В настройках для каждого модуля прописал путь к этому файлу 3. В процедуре инициализации модуля идёт обращение к файлу, из соответствующих секций считываются необходимые настройки и т.д. Если же проблема с инициализацией строки подключения, то для этого у адаптера соединение можно сделать публичным и уже из кода инициализировать строку подключения. Вот кусочек кода для чтения настроек: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
А это пример кода использования настроек с адаптерами: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2013, 21:27 |
|
Файл параметров как ссылка в двух и более проектах
|
|||
---|---|---|---|
#18+
Alex Kuznetsov, Спасибо, но задача именно в дизайнайме указать строку подключения хранящуюся в параметрах основного приложения, назначить ее из кода проблем конечно не вызывает, можно и SettingsManager'ом открыть параметры основного приложения и оттуда считывать строку подключения. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2013, 12:48 |
|
Файл параметров как ссылка в двух и более проектах
|
|||
---|---|---|---|
#18+
Thor234Alex Kuznetsov, Спасибо, но задача именно в дизайнайме указать строку подключения хранящуюся в параметрах основного приложения, назначить ее из кода проблем конечно не вызывает, можно и SettingsManager'ом открыть параметры основного приложения и оттуда считывать строку подключения.Хм, странно конечно это... А что если вдруг в продуктивной среде будет использоваться другой адрес для сервера базы данных? Тогда придётся перед поставкой приложения и модулей их повторно компилировать и собирать? Ну да ладно, дело как говорится Ваше. Но вот только не вижу я особого смысла в дизайн тайме хранить настройки в одном и том-же файле для разных проектов. Да и не нужно мне это... Хотя задачка интересная, заставить студию считывать для разных проектов в одном решении информацию из одного и того-же настроечного файла. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2013, 13:59 |
|
Файл параметров как ссылка в двух и более проектах
|
|||
---|---|---|---|
#18+
Поразбирался тут еще с параметрами приложения. В итоге, чего хотел так и не получилось. Получилось как подсказал Alex Kuznetsov вынести в отдельный конфиг файл строку соединения и ссылатся из app.config на файл со строкой соединения атрибутом configSource и это работает если программно присваивать адапрерам таблиц соединение хоть из сотни проектов решения. Но задача стоит указать в дизайнтайме. Дело в том, что в проперти гриде не отображаются соединения из app.config, а отображаются как я понял только из Settings.settings, да, я знаю, что хранится физически строка в app.config, но пока соединения не будет в Settings.settings в дизайнере его не видно, а вот как из всех Settings.settings разных проектов сослаться на одну строку соединения так и не допер. В общем граждане я в тупике, будут еще идеи? И вообще какова область видимости дизайнера? т.е. он видит только, что в Settings.settings? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2013, 16:34 |
|
|
start [/forum/topic.php?fid=20&fpage=166&tid=1404803]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 155ms |
0 / 0 |