0

我正在尝试在我的 .exe 文件所在的父文件夹中启动一个 .exe 文件。

不幸的是,当这样做时:

dir = Directory.GetParent(Directory.GetCurrentDirectory))

该程序给了我一个错误:

“DirectoryInfo”的值类型不能转换为“String”。

它与 完美配合CurrentDirectory,但不适用于GetParent。即使我只是说:

dir = Directory.GetParent("")

我认为它们都返回相同的文件类型,但 Visual Studio 告诉我(在对GetParent方法进行着色时)GetParent返回一个DirectoryInfo值。

有什么方法可以将它转换为字符串,或者能够根据我的需要使用它?

4

2 回答 2

0

Directory.GetParent方法(字符串)返回一个DirectoryInfo实例。

我希望您可以使用DirectoryInfo.FullNameProperty获取目录名称,它是一个字符串。

就像是:

dir = Directory.GetParent(Directory.GetCurrentDirectory())).FullName
于 2017-05-08T16:34:47.153 回答
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

于 2017-05-08T16:37:39.123 回答