2013-05-28 27 views
0

我試圖加載我已經加入到我的項目資源,它告訴我:無法加載資源,不管我怎麼努力

非法字符的路徑。

現在,資源的名稱是:ShortcutList.txt。我沒有看到任何違法的事情。而我正在使用的代碼是:

public void InitShortcuts() 
    { 
     try 
     { 
      string s = File.ReadAllText(Properties.Resources.ShortcutList); 
      if (!String.IsNullOrEmpty(s)) 
      { 
       MessageBox.Show(s); 
      } 
     } 
     catch (Exception exception) 
     { 
      MessageBox.Show(exception.Message); 
     } 
    } 

但正如我上面所說,它只是告訴我,路徑中有非法字符。怎麼樣?這不像我搞砸了路徑或任何東西。

我已經將ShortcutList.txt設置爲嵌入式資源並且'如果更新'則複製(我也嘗試了該列表中的所有其他選項!)。

任何想法,我可能做錯了什麼?

+0

ShortcutList是否包含任何非字母數字字符? –

+1

如果您查看調試器下的「Properties.Resources.ShortcutList」的值,它說什麼? –

+0

該資源不是在安裝或執行時刷新到客戶端系統的文件,因此該資源不會變成指向物理文件系統上資源的路徑。這將是資源本身,所以加載到'MemoryStream'然後'FileStream'等等。 –

回答

1

就做這樣的事情:

List<string> list = Resources.ShortcutList.Split(new[] { Environment.NewLine }, StringSplitOptions.None).ToList(); 

您可以將生成操作設置爲「資源」,並複製到輸出「不要複製」。它應該工作。