2013-07-22 22 views
0

我的資源文件夾中嵌入一些.txt文件。當我運行該項目時,根據選擇,確定.txt文件名稱。訪問資源從已公佈的申請

例如;

的文件名sample017.txt和我一直在textName字符串變量。此文件的完整路徑是:

「../../ Resources \」+ textName;

而且我給你這一切,以文件名字符串變量:

fileName = "../../Resources\\" + textName; 

所以,我用這個字符串變量流文本文件:

using (Stream input = File.OpenRead(fileName)) 

在這種形式下,我可以訪問到sample017.txt文件,它工作在調試模式很好..但是,當我建立一個安裝項目並安裝它任何一臺PC,它撞向一個例外,它不能找到「資源」文件夾中。如何使用.exe文件文件夾中的資源管理相同的文件?

注意:我不想將文件複製到程序文件夾。我想嵌入這些來源。

+0

添加資源文件夾中的設置 – Ehsan

+0

而你檢查的資源文件夾實際上存在於目標機器上?你有沒有配置它與項目部署? –

+0

@GrantThomas我不想代替資源文件夾的安裝目錄中的文件夾。我要將文件.. – 1teamsah

回答

1

嘗試刪除../ ..從路徑,因爲部署的資源後是不一樣的,而本地調試。

檢查也是這個線程:

Deployed application can't find its resources c# Visual Studio 2010

你也可以嵌入您的文件作爲資源和使用Assembly.GetExecutingAssembly加載它。使用GetManifestResourseStream獲取內容。

更多有關訪問資源的細節,你在這裏找到:http://support.microsoft.com/kb/319292

下面是一個剪斷..

var assembly = Assembly.GetExecutingAssembly(); 
var res = assembly.GetManifestResourceStream("MyNameSpace.TextFile.txt"); 
var textStreamReader = new StreamReader(res); 

問候

+0

嗨, 請給我一個詳細的代碼片段? 謝謝。 – 1teamsah

+1

嗨,當然,我添加了一個鏈接和一個片段。心連心。 – dixus