簡體   English   中英

C# 獲取資源文件夾的相對路徑

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM