Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight 从MEF加载的XAP访问嵌入式资源_Silverlight_Mef - Fatal编程技术网

Silverlight 从MEF加载的XAP访问嵌入式资源

Silverlight 从MEF加载的XAP访问嵌入式资源,silverlight,mef,Silverlight,Mef,简单的问题 因此MEF不支持导入或导出松散文件(如xml文件)等 但是,它至少应该支持嵌入式资源,对吗 我目前有一个动态加载XAP的silverlight应用程序。这些动态加载的XAP都有一个xml文件作为嵌入式资源附加,可通过一个实例方法访问,该实例方法如下所示 public XDocument MenuStructure { get { return XDocument.Load("myFile.xml"); }

简单的问题

因此MEF不支持导入或导出松散文件(如xml文件)等

但是,它至少应该支持嵌入式资源,对吗

我目前有一个动态加载XAP的silverlight应用程序。这些动态加载的XAP都有一个xml文件作为嵌入式资源附加,可通过一个实例方法访问,该实例方法如下所示

public XDocument MenuStructure
    {
        get
        {
            return XDocument.Load("myFile.xml");
        }
    }
但是,此属性在导入后失败,并显示一条消息“在应用程序xap包中找不到文件'myFile.xml'

我不确定问题是否在于如何访问文件,因为它的BuildAction设置为EmbeddedResource

有什么想法吗


谢谢

好的,根据我的想法,我应该使用Application.GetResourceStream。现在一切都很好。

您是正确的,MEF不支持从二级下载的XAP加载资源。但是,您可以执行嵌入资源(嵌入在程序集中而不是XAP中),但是您访问它的方式不会从嵌入资源中提取文件

对于BuildAction EmbeddedResource,您需要从程序集获取流。GetManifestResourceStream(…)()。 对于BuildAction资源,您需要构建一个适当的包uri(请参阅中的资源文件包uri-引用的程序集)并传递到Application.GetResourceStream(我实际上不完全确定这种方法是否适用于动态加载的XAP)