C#获取资源文件夹的相对路径
C# get relative path of resources folder
我想访问一个 .txt 文件,我将其存储在我的项目的资源文件夹中,那里也存储了所有导入的图片。
我想使用类似相对路径的东西,因为每个用户都会在他的 Pc 上的其他地方保护他的程序,但与程序文件夹相比,资源文件夹总是在同一个地方。
我尝试使用这个:displayText = System.IO.File.ReadAllText("Resources\startmessages.txt");
但这不起作用。
我收到此错误消息:System.IO.DirectoryNotFoundException:,它也列出了 .txt 的非相关路径,所以我不明白,为什么它无法读取它。
感谢您的帮助。
@ChetanRanpariya 试图告诉您的是,您的程序 构建 在另一个文件夹中,而不是您的文件夹 Resources
所在的文件夹。所以你已经明确地告诉你的文件 Resources\startmessages.txt
在构建过程中复制自己,所以它被复制到另一个文件夹。假设您正在使用 Visual Studio,您必须右键单击您的文件并将 Copy To Output Directory
设置为 true
。它的相对文件夹路径 (Resources\
) 将被接管。根据配置和框架,您可以在 bin
文件夹中的某处找到构建文件夹。 :)
可执行文件所在的当前路径
Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).FullName
解决路径
如果您正在使用Visual Studio并且需要访问解决方案目录中的文件夹,您可以使用.Parent
方法,
Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).Parent.Parent.FullName
使用Path.Combine
获得资源文件夹的位置后,使用 Path.Combine 获取读取文件/内容等的位置
Path.Combine(Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).Parent.Parent.FullName, "Resources\startMessages.txt")
我想访问一个 .txt 文件,我将其存储在我的项目的资源文件夹中,那里也存储了所有导入的图片。 我想使用类似相对路径的东西,因为每个用户都会在他的 Pc 上的其他地方保护他的程序,但与程序文件夹相比,资源文件夹总是在同一个地方。
我尝试使用这个:displayText = System.IO.File.ReadAllText("Resources\startmessages.txt");
但这不起作用。
我收到此错误消息:System.IO.DirectoryNotFoundException:,它也列出了 .txt 的非相关路径,所以我不明白,为什么它无法读取它。
感谢您的帮助。
@ChetanRanpariya 试图告诉您的是,您的程序 构建 在另一个文件夹中,而不是您的文件夹 Resources
所在的文件夹。所以你已经明确地告诉你的文件 Resources\startmessages.txt
在构建过程中复制自己,所以它被复制到另一个文件夹。假设您正在使用 Visual Studio,您必须右键单击您的文件并将 Copy To Output Directory
设置为 true
。它的相对文件夹路径 (Resources\
) 将被接管。根据配置和框架,您可以在 bin
文件夹中的某处找到构建文件夹。 :)
可执行文件所在的当前路径
Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).FullName
解决路径
如果您正在使用Visual Studio并且需要访问解决方案目录中的文件夹,您可以使用.Parent
方法,
Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).Parent.Parent.FullName
使用Path.Combine
获得资源文件夹的位置后,使用 Path.Combine 获取读取文件/内容等的位置
Path.Combine(Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).Parent.Parent.FullName, "Resources\startMessages.txt")