1

我有一个 vb .net 应用程序,它存储在我的 D: 驱动器中。我需要在我的项目根目录中创建一个文件夹和一个文件。我使用以下代码来创建文件夹和文件。

 If (Not System.IO.Directory.Exists("\test\")) Then
                System.IO.Directory.CreateDirectory("\test\")
                If (Not System.IO.File.Exists("\test\output.txt")) Then
                    System.IO.File.Create("\test\output.txt")
                End If
            End If

但是文件夹和文件是在 C: 驱动器中创建的。我曾经Dim fullpath As String = Path.GetFullPath("\test\output.txt")确定文件和文件夹的创建位置。

我想在我的项目根目录中创建它。这意味着我需要使用相对路径标准创建文件夹。

4

2 回答 2

2

如果您想要正在运行的应用程序的可执行文件或 dll 的目录,则:

   Dim spath As String
        spath = System.IO.Path.GetDirectoryName( _
                   System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
        If (Not System.IO.Directory.Exists(Path.Combine(spath, "test"))) Then

            System.IO.Directory.CreateDirectory(Path.Combine(spath, "test"))

            If (Not System.IO.File.Exists(Path.Combine(spath, "test\output.txt"))) Then

                System.IO.File.Create(Path.Combine(spath, "test\output.txt"))
            End If
        End If

如果你想要解决方案/项目目录,那么:


        Dim spath As String = Directory.GetCurrentDirectory

        If (Not System.IO.Directory.Exists(Path.Combine(spath, "test"))) Then
            System.IO.Directory.CreateDirectory(Path.Combine(spath, "test"))
            If (Not System.IO.File.Exists(Path.Combine(spath, "test\output.txt"))) Then
                System.IO.File.Create(Path.Combine(spath, "test\output.txt"))
            End If
        End If
于 2013-08-14T11:12:31.060 回答
0

你可以使用这条路径,并从那里工作......

    MsgBox(Application.StartupPath)
于 2013-08-14T11:59:13.280 回答