2010-06-13 115 views
9

我想添加一些XML文件作爲資源到我的類庫項目。 任何想法如何做,並在稍後調用? 在Windows應用程序,我會這樣做,就像ClassLibrary1.Properties.Resources.file.xml資源在類庫項目

但在這裏它沒有任何想法我怎麼做到這裏?

+0

你做了什麼不起作用?你有什麼嘗試? – dtb 2010-06-13 14:53:51

+6

地球上的哪裏是「這裏」? – 2010-06-13 15:59:12

回答

9

This article解釋如何在C#中使用嵌入的資源。

它歸結爲

  1. 在「設計時間」:將文件添加到項目並將其標記爲嵌入的資源(屬性)
  2. 在「運行時間」:獲取大會的實例持有您想要的資源,然後將該資源作爲流獲取。

var assembly = Assembly.GetExecutingAssembly();

var stream = assembly.GetManifestResourceStream(「fully.qualified.name.of.the.resource」);

如果你正在努力制定出資源的FQ名字,一個偷懶的方法是使用reflector打開持有該組件。轉到資源文件夾,右鍵單擊特定資源並選擇「複製」。

+0

謝謝。這幫助了我。在不下載工具的情況下獲取名稱的另一種方法是訪問_assembly.GetMainfestResourceNames()並在其中添加斷點。你會得到所有的名字,然後你可以複製/粘貼它,擺脫你的電話來獲取名稱。 :) – bgs264 2016-08-24 09:33:46

8

在Windows應用程序中,我會做這樣ClassLibrary1.Properties.Resources.file.xml

默認情況下,產生訪問的資源類是內部的,所以你不能從訪問另一個組件。如果您需要公開,請選擇.resx文件,轉至其屬性,然後將自定義工具屬性從「ResXFileCodeGenerator」更改爲「PublicResXFileCodeGenerator」。這個自定義工具生成公共類,這應該可以解決您的問題。

2

右擊類庫項目,選擇屬性,在左邊的選項卡選擇參考資料部分。

由於您的.resx文件頃不是由Visual Studio識別,添加一個新的。 它將創建一個新的.resx文件。

複製所有原始內容並粘貼到新的一個。然後你可以刪除舊的。 就是這樣!

您將需要重複同樣的過程爲所有支持的語言。