日期:2014-05-20  浏览次数:20785 次

.Net 的一个Bug ?
在VS2005下用C#开发一个Windows应用,该Project位于C:\Projects\下。测试时,代码要访问该项目的bin\debug目录下的一个XSLT文件,同时在程序的主窗口下有一个OpenFileDialog,可是每次运行时,程序总是到这个OpenFileDialog返回的文件路径下去找那个XSLT文件,致使程序总是报错。
命名在代码里面指定了那个xslt文件的路径,可是程序总是要在这个指定的路径前加上OpenFileDialog里获得的路径,不知道为什么?

------解决方案--------------------
2005不熟悉,但2003的情况希望对楼主有些帮助

2003中取程序运行路径有两种方式,Enviorment.CurrentDirectory和Application.ExcutablePath

前者会随着程序使用中OpenFileDialog之类对话框的变化而变化,后者则是固定的。

但后者是带有文件名的,所以还要处理一下
string path = Application.ExcutablePath.SubString(0,Application.ExcutablePath.LastIndexOf( "\\ "));