2009-05-21 54 views
10

是否可以在C#類庫中嵌入自定義二進制文件,然後在運行時使用二進制讀取器讀取它?在類庫中嵌入二進制文件

我猜這可能是通過資源。

非常感謝

回答

12

您可以通過將項目屬性添加到資源來完成此操作。然後Visual Studio會給你一個方便的類使用以下代碼訪問你的文件

byte[] theFile = myNamespace.Properties.Resources.theBinaryFile; 

其中資源名稱是BinaryFile。

4

是很容易:

將文件添加到您的項目,並設置了「建設行動」,以「嵌入的資源」。

在你的程序做

foreach (string name in Assembly.GetExecutingAssembly().GetManifestResourceNames()) 
{ 
    if (name.EndsWith("<name>", StringComparison.InvariantCultureIgnoreCase)) 
    { 
    using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(name)) 
    { 
     // ... 
    } 
    break; 
    } 
} 

找到合適的資源是有點複雜,因爲有東西在文件名的前面(命名空間等設置斷點爲IF(...)來看到真實的資源名稱)。

+0

非常感謝,我會給它一個旋風! – Andy 2009-05-21 09:39:57

+0

這很好。尤其是當我不斷更改文件內容並在構建項目時重新嵌入。 – Andy 2009-06-02 08:56:48