我正在尝试在我的.exe文件所在的父文件夹中启动.exe文件。
不幸的是在做的时候:
dir = Directory.GetParent(Directory.GetCurrentDirectory))
该程序给我一个错误:
目录信息的价值类型'无法转换为'字符串'。
它与CurrentDirectory
完美配合,但不与GetParent
配合使用。即使我只是说:
dir = Directory.GetParent("")
我认为它们都返回相同的文件类型,但Visual Studio告诉我(当GetParent
方法着色时)GetParent
返回DirectoryInfo
值。
有没有办法将其转换为字符串,或者能够将其用于我的需求?
答案 0 :(得分:0)
Directory.GetParent
Method (String)会返回DirectoryInfo
Class个实例。
我希望您可以使用DirectoryInfo.FullName
Property获取目录名称,这是一个字符串。
类似的东西:
dir = Directory.GetParent(Directory.GetCurrentDirectory())).FullName
答案 1 :(得分:0)
Directory.GetParent返回一个DirectoryInfo
类,因为错误说这不能转换为字符串。
相反,你要做的是声明一个变量来保存DirectoryInfo
,然后从中访问属性,特别是FullName属性:
Dim dirInfo As DirectoryInfo = Directory.GetParent(Directory.GetCurrentDirectory)
Dim path As String = dirInfo.FullName
这当然可以用一个班轮完成,但为了澄清我认为它会帮助你分解它。对于单线使用:
Dim dir As String = Directory.GetParent(Directory.GetCurrentDirectory).FullName
在这两种情况下,输出都是:
C:\发展\ VS2013 \ WindowsApplication1 \ BIN