如何使用GetManifestResourceStream
在做开发时想要从程序集中加载一个xml文件数据,可是在运行后确取不到值,值始终是null。
代码如下:
Stream ss = this.GetType().Assembly.GetManifestResourceStream("TESTdemo.demo.FormDemo.xml");
myControl.LoadDocument(ss, null);//ss为null;
经查资料:GetManifestResourceStream中的资源清单,资源清单格式:命名空间.资源文件名,(注意:资源清单格式 加黑加粗以及加红的特殊点),
所在的程序集的命名空间名为TESTdemo,直接在命名空间建立子文件demo,又在demo建立资源文件FormDemo.xml,所以上面的代码就用(“命名空间名”.“资源清单名”)
如上代码运行后取得的值为null,经网上查找资料,原因是虽然资源清单在当前程序集下,但是还要将其属性设置为“嵌入资源”才行。
若在其中的子文件夹下那么代码中就应该用(“命名空间名”.“子文件夹名”.“资源清单名”) (此情况本人已测试可以获得数据,重要路径正确就可以,见最后一个图)
设置如下:
工程中右键单击资源清单文件(FormDemo.xml),选择属性(Properties)。
若在其中的子文件夹下那么代码中就应该用(“命名空间名”.“子文件夹名”.“资源清单名”) (此情况本人已测试可以获得数据)
龙腾一族至尊龙骑