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