[英]C# get relative path of resources folder
我想訪問一個.txt 文件,該文件存儲在我項目的資源文件夾中,所有導入的圖片也都存儲在那里。 我想使用類似相對路徑的東西,因為每個用戶都會在他的電腦上的其他地方保護他的程序,但與程序文件夾相比,資源文件夾總是在同一個地方。
我試着用這個: 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")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.