У меня есть решение с именем WebServiceProject .
Внутри этого решения у меня есть три проекта:
- Общий (Библиотека классов)
- UserInterface (проект WinForms)
- WebService (сервисный проект WCF)
В проекте WebService у меня есть файл app.config
с таким содержанием:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b72a5b561321d079">
<section name="WebService.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b72a5b561321d079" requirePermission="false"/>
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup>
<appSettings>
<add key="ConnectionString" value="mydatabase@localhost"/>
</appSettings>
<system.serviceModel>
<bindings/>
<client/>
</system.serviceModel>
</configuration>
В проекте WebService я выполняю некоторую запланированную процедуру, вызывающую классы проекта Common , считывающие файл ConnectionString
из app.config
файла:
if (!string.IsNullOrEmpty(ConfigurationManager.AppSettings["ConnectionString"]))
{
// I do something
}
Если я запускаю только WebService , все работает нормально.
Внутри WinForms проекта UserInterface , у меня есть кнопка, которая запускает подпрограмму внутри Common проекта, как WebService .
Но если я " Установить как проект запуска ", UserInterface проецирует предыдущий фрагмент кода ConfigurationManager.AppSettings["ConnectionString"]
, выдает ошибку, потому что я не указал ConnectionString
в проект app.config
in UserInterface .
Итак, мой вопрос: как я могу прочитать свойство ConnectionString
из события проекта WebService , если я " Установить как проект запуска " UserInterface проект? В общем, как я могу прочитать свойство app.config
из другого проекта, отличного от выполненного?