2009-06-04 80 views
0

我有一個html模板,我想從VS 2005 C#窗體表單應用程序中的資源文件中檢索。如何從C#中的資源文件中檢索文本文件VS.2005

我在項目中創建了一個名爲/ html /的文件夾,該文件夾中有一個名爲template.html的文件。

我已將該文件添加到我的資源中。我將它的名稱看作模板,它的文件路徑是完全限定的文件名(c:/.../project/html/import.html)。它被保存爲TEXT而不是二進制。

我試過很多方法來提取這個文件,但每次我得到一個空返回。我錯過了什麼?

 Type t = GetType(); 
     Assembly a = Assembly.GetAssembly(t); 
     string file = "html.template.html"; // I've tried template and template.html 
     string resourceName = String.Concat(t.Namespace, ".", file); 

     Stream str = a.GetManifestResourceStream(resourceName); 

     if (str == null) // It fails here - str is always null. 
     { 
      throw new FileLoadException("Unrecoverable error. Template could not be found"); 
     } 
     StreamReader sr = new StreamReader(str); 
     htmlTemplate = sr.ReadToEnd(); 

回答

1

您是否嘗試過在你的輸出裝配在尋找Reflector驗證資源名稱實際上是你希望它是什麼呢?

0

我相信當你試圖檢索它時,你會誤導你的資源。

你可以做的一件事是用Reflector檢查生成的程序集並檢查資源的全名。

1

反射器幫助找出問題所在,謝謝。這是我需要的:

string template = Properties.Resources.template; 

真的不是那麼容易。以上所有其他的東西是完全沒有必要的。