定义自定义控件的可执行文件的路径

时间:2010-07-30 22:10:08

标签: vb.net visual-studio user-controls executable-path

我在Visual Studio 2008中使用VB.NET创建了一个自定义控件,为搜索和救援应用程序提供了广泛的映射和跟踪功能。我遇到的问题是,在许多地方我需要定义主应用程序可执行文件的路径,以便找到控件需要正常运行的许多目录。当我在VS中使用它时,一切正常,但是当我尝试将控件嵌入到单独的解决方案中时,我得到以下错误:

  

无法创建组件   'MainControl'。错误消息   如下:   “System.IO.DirectoryNotFoundException:   找不到路径的一部分   'C:\ Program Files \ Microsoft \ Visual   工作室   9.0 \共同\ IDE \ GIS \数据\缺省...

这似乎表明它正在Visual Studio程序路径中查找\ GIS \ Data \ Default目录,但我已经使用Application.StartupPath在整个控件中定义了这个位置。

只有在尝试将控件嵌入控件解决方案之外的表单中时才会出现此错误。我为开发这个控件而创建的解决方案有两个项目(一个用于控件,另一个用于测试表单进行调试)

有人可以就此提供一些指导吗?

1 个答案:

答案 0 :(得分:1)

当控件在设计器中使用时执行代码时,会发生这种情况。当你在Visual Studio中删除窗体上的控件时,它会像构造函数,Load事件,Paint事件等等一样运行。

当当前工作目录错误时,您需要使用DesignMode属性来阻止此代码运行和崩溃。它在设计器中是错误的,工作目录是Visual Studio,而不是最终将使用它的应用程序。或者使用绝对路径,而不是相对路径。

如果这没有用,那么如何调试设计时问题是explained here