获取wpf工程的根目录?

qzp000000 2013-01-16 10:48:00
使用
AppDomain.CurrentDomain.BaseDirectory = "****\\visual studio 2012\\Projects\\WpfApplication1\\WpfApplication1\\bin\\Debug\\"

其实我只想要
****\visual studio 2012\Projects\WpfApplication1\WpfApplication1\NewFolder

想要获取更目录,然后接着找到NewFolder文件夹。。
但是AppDomain.CurrentDomain.BaseDirectory得到了debug目录,有没有那个方法直接得到根目录?
谢谢啦
...全文
623 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
机器人 2013-01-17
  • 打赏
  • 举报
回复
还有一种方式,是使用 windows 提供的特殊路径 比如 ApplicationData 这可以用 Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) 获得。在这个目录下创建的目录,都可以通过底层提供的API来获取。
机器人 2013-01-17
  • 打赏
  • 举报
回复
所有路径都应该相对 exe 的路径来设计的。 所以只要你的 NewFolder 相对于 exe 来说保持正确的相对路径,就可以算出。 另外一种方式是记录 NewFolder 的绝对路径。 bin\debug 路径不是固定的。比如你用 release 模式编译,会生成到 bin\release 下。 如果用户安装,这个路径又可能是自由选择的。
qzp000000 2013-01-17
  • 打赏
  • 举报
回复
谢谢楼上的老师,学到了很多方法..
threenewbee 2013-01-17
  • 打赏
  • 举报
回复
你可以用 ..\定位到上一层目录。..\xxx代表xxx目录是程序所在目录的平级目录。你还可以用..\..\返回上上级目录,等等。 ls的方法也很好,另外可以通过环境变量定位目录。
暖枫无敌 2013-01-16
  • 打赏
  • 举报
回复
是的,这种方法获取到的默认就是bin\debug下可执行exe文件的路径 你可以获取到该路径后,然后从debug目录往上截取两级文件夹就是你项目的根目录了 string path = AppDomain.CurrentDomain.BaseDirectory; string rootpath = path.Substring(0, path.LastIndexOf("\\")); rootpath = rootpath.Substring(0, rootpath.LastIndexOf("\\"));
CMIC 2013-01-16
  • 打赏
  • 举报
回复
一般获取根目录的方法都是获取执行文件所在路径,因为执行文件在bin下面,所以获取了bin的路径,直接获取你要去的那个路径我绝的不太可能。

17,748

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧