У меня есть приложение vb.net windows forms, в котором я использую наследование для форм Windows. У меня есть базовая форма, которая предоставляет некоторые из основных макетов и методов, которые будут использоваться со всеми наследующими формами. Это включает инициализацию контекста структуры сущностей в конструкторе базовой формы.
Dim dataContext As New CCEntities()
Затем дочерняя форма может использовать этот контекст. Приложение компилируется и запускается без ошибок, но когда я пытаюсь просмотреть дочернюю форму в конструкторе, отображается сообщение об ошибке: «Указанное именованное соединение либо не найдено в конфигурации, либо не предназначено для использования с Поставщик EntitlyClient или недействителен. "Если я перенесу эту строку инициализации в конструктор дочерней формы, конструктор отобразится без ошибок.
Пытаясь устранить эту проблему, я указал строку подключения во время инициализации в конструкторе базовой формы как:
Dim dataContext As New CCEntities(System.Configuration.ConfigurationManager.ConnectionStrings.Item("CCEntities").ConnectionString)
После добавления этой ссылки в строку подключения в дочерней форме теперь отображается сообщение «Ссылка на объект не соответствует экземпляру объекта».
Однако, если я жестко закодирую строку подключения объекта в эту строку инициализации, конструктор будет работать нормально.
Похоже, что основная форма не может получить доступ к файлу app.config. Как я могу получить базовую форму для правильного доступа к файлу app.config и заставить дизайнер работать должным образом?