我有一個XML文件,作爲我希望在運行時訪問的Silverlight 4.0項目的一部分。我將該文件保存在一個名爲Resources的目錄中,並將Build Action設置爲「Content」,將Copy to Output Directory設置爲「Do not copy」。如果我解壓縮XAP文件,我會在我期望的位置看到XML文件,但我不確定如何從代碼中引用它。目前,我有以下幾點:在運行時訪問資源
Stream stream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(@"/AssemblyName;component/Resources/MyFile.xml")
不幸的是,流運行上面的代碼後空。除了上面提到的路徑之外,我嘗試了「/Resources/MyFile.xml」,「/MyFile.xml」和「MyFile.xml」,但它們都經歷了相同的行爲。
在Silverlight應用程序中訪問作爲資源嵌入的XML文件的正確方法是什麼?
我實際上嘗試將構建操作設置爲「資源」,但發生了同樣的事情(執行後流爲空)。 XElement.Load()引發以下異常:在應用程序xap包中找不到文件'/Resources/MyFile.xml'。 – senfo 2011-03-16 20:40:26
@senfo:刪除第一個正斜槓(即:「Resources/MyFile.xml」),它應該可以工作(假設「MyFile.xml」位於Silverlight項目的名爲「Resources」的子目錄中)。 – 2011-03-16 20:55:09
就是這樣!非常感謝你! – senfo 2011-03-16 21:10:54