Ошибка "Не удалось создать компонент 'ControlName'" при перетаскивании оконного пользовательского элемента управления на форму - PullRequest
4 голосов
/ 15 января 2010

В моем проекте есть пользовательский элемент управления Windows Forms. Он работал над формой без каких-либо проблем, но вдруг я больше не могу использовать его в любой другой форме. Если я пытаюсь перетащить его из панели инструментов в новую форму, я получаю это сообщение об ошибке

"Не удалось создать элемент управления 'controlName'. Сообщение об ошибке следующее: system.ArgumentException: указанное именованное соединение либо не найдено в конфигурации, не предназначено для использования с поставщиком EntityClient, либо недопустимо."

Но когда я запускаю проект, он компилируется без ошибок.

Кроме того, когда я хочу открыть конструктор формы, которая уже содержит этот пользовательский контроль и работает нормально, конструктор не загружается, и я вижу сообщения об ошибках ниже

"Чтобы предотвратить возможную потерю данных перед загрузкой конструктора, необходимо устранить следующие ошибки:

Указанное именованное соединение либо не найдено в конфигурации, не предназначено для использования с поставщиком EntityClient, либо недопустимо.

Переменная 'MyControlName1' либо необъявлена, либо никогда не назначалась. "

Я не понимаю, что происходит, но проект все еще строится и работает, но определенно что-то серьезно не так.

Ответы [ 2 ]

2 голосов
/ 25 августа 2016

Оберните ваши методы загрузки пользовательского элемента управления:

private void myUserControl_Load(object sender, EventArgs e)
{
    if (!this.DesignMode)
    {
        //....stuff
    }            
}
2 голосов
/ 15 января 2010

Похоже, что ваш элемент управления пытается установить соединение с базой данных во время разработки, и база данных не может быть найдена (возможно, потому что дизайнер пытается найти в каталоге bin Visual Studio).

Лучше всего не подключать базу данных к пользовательскому элементу управления во время разработки, а динамически связывать ее во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...