簡體   English   中英

從程序集中獲取文件

[英]Get File From an Assembly

我想從以下結構中讀取文件路徑

結構如下:AssemblyName - > MyFiles(Folder) - > Text.txt

在這里,我想獲得Text.txt的路徑。 請幫忙

我認為你要找的是一個嵌入在程序集中的文件。 看看這個問題 第一個答案解釋了如何設置嵌入式文件,以及如何從代碼中獲取它。

你可以做

string assemblyPath = Assembly.GetExecutingAssembly().Location;
string assemblyDirectory = Path.GetDirectoryName(assemblyPath);
string textPath = Path.Combine(assemblyDirectory, "MyFiles", "Test.txt");
string text = File.ReadAllText(textPath);

......只是把它分開一些......但是你可以把它寫在一條線上,不用說......

或者,如果您的Environment.CurrentDirectory已經設置為執行程序集位置的目錄,您可以這樣做

File.ReadAllText(Path.Combine("MyFiles", "Text.txt"));

傑夫已經介紹了你如何獲得這條路徑,你對他的答案的評論是你想要打開的文件實際包含在你的項目輸出中嗎?

在相關文件的屬性窗格下,查看“ Copy to Output Directory選項 - 它通常默認為Do not copy 如果要在編譯程序的輸出目錄中包含文件,則需要將其設置為Copy AlwaysCopy if NewerCopy if Newer

作為一般說明,您應始終將任何IO包裝在適當的try catch塊中,或使用靜態File.Exists(path)方法檢查文件是否存在

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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