环境 VS2010,Vb.net,框架3.5,Windows7
异常语句
My.Computer.FileSystem.CombinePath(GetCurrentDirectory(),"Help\start.html")
在本机调试一切正常, GetCurrentDirectory()方法可以工作
部署到测试用的XP系统上开始出现问题,GetCurrentDirectory()返回路径为上次存储文档的路径,不是EXE所在路径,百度一下发现一些问题:
引用:http://hi.baidu.com/hywangyc/item/474558487d8a80acdf2a9f14
System.IO.Directory.GetCurrentDirectory()方法用于获得应用程序当前工作目录。System.Windows.Forms.Application.StartupPath 获得应用程序的可执行文件的路径,不含文件名 。
StartupPath 可执行文件固定就不会变,可用于定位 。
GetCurrentDirectory 不一定是可执行文件所在目录,因启动的位置而变。
将语句修改为
My.Computer.FileSystem.CombinePath(Application.StartupPath,"Help\start.html")
问题解决,
另外CombinePath方法第二个参数不能写成 “\XX\YY”,必须写成“XX\YY”
否则导致返回结果为 根目录+YY。
Key word :CombinePath路径变成根目录