Определение пути к исполняемому файлу для пользовательского элемента управления - PullRequest
0 голосов
/ 31 июля 2010

Я создал пользовательский элемент управления с использованием VB.NET в Visual Studio 2008, который предоставляет расширенные функции сопоставления и отслеживания для приложения поиска и спасения. Проблема, с которой я сталкиваюсь, заключается в том, что в ряде мест мне нужно определить путь к исполняемому файлу основных приложений, чтобы найти несколько каталогов, которые должны работать для правильного управления. Все отлично работает, когда я использую его в VS, но когда я пытаюсь встроить элемент управления в форму в отдельном решении, я получаю следующую ошибку:

Не удалось создать компонент 'MainControl. Сообщение об ошибке следующим образом: «System.IO.DirectoryNotFoundException: Не удалось найти часть пути 'C: \ Program Files \ Microsoft \ Visual студия 9.0 \ Common \ IDE \ ГИС \ Data \ Default ...

Кажется, это указывает на то, что он ищет каталог \ GIS \ Data \ Default в пути к программе Visual Studio, но я использовал Application.StartupPath, чтобы определить это местоположение по всему элементу управления.

Эта ошибка возникает только при попытке встроить элемент управления в форму вне решения элементов управления. Решение, которое я создал для разработки этого элемента управления, имеет два проекта (один для элемента управления и один для тестовой формы для отладки)

Может ли кто-нибудь дать мне руководство по этому вопросу?

1 Ответ

1 голос
/ 31 июля 2010

Это произойдет, когда ваш элемент управления выполнит код во время его использования в конструкторе.Это так, например, конструктор, событие Load, событие Paint и т. Д. Будут запускаться, когда вы удаляете элемент управления в форме в Visual Studio.

Необходимо использовать свойство DesignMode, чтобы этот код не работал,сбой, когда текущий рабочий каталог неверен.Это будет неправильно в конструкторе, рабочий каталог - это Visual Studio, а не приложение, в котором он в конечном итоге будет использоваться.Или используйте абсолютные пути, а не относительные.

Если это не помогает, то как отладить проблемы времени проектирования, объясняется здесь .

...