2016-03-01 119 views
0

我正在使用Xamarin.Forms,我试图从资源中读取文本文件,下面的代码尝试获取文本文件时返回空值。Xamarin.Forms无法从资源中读取文本文件返回空

var assembly = typeof(BookPage).GetTypeInfo().Assembly; 
Stream stream = assembly.GetManifestResourceStream("AboutResources.txt"); 

//这里集会返回空值,我找不到文本资源

我下面的类继承自ContentPage在PLC项目下的代码

public class BookPage : ContentPage 

enter image description here

回答

3

对我工作的罚款以下步骤:

所有的1 - 首先,我添加的资源文本文件到同一项目

2,文件路径必须是像“你的项目name.your自定义文件夹。文件名”。

var fileName = "MySampleProject.XMLData.rawxmldata.xml". 

3-确保Build Action是EmbeddedResource。

1
//First get the list of all resources available for debugging purpose 
assembly.GetManifestResourceNames() 

这将列出所有(完全限定名称)嵌入式装配中的所有资源,你的代码是写在

链接:http://msdn.microsoft.com/en-us/library/system.reflection.assembly.getmanifestresourcenames(v=vs.110).aspx

检查是否有"AboutResources.txt"你期望。 检查您是否错误地嵌入了资源文件,它不会显示在GetManifestResourceNames()调用返回的列表中。确保你符合名称的大小写。

+0

string [] resources = assembly.GetManifestResourceNames();返回0项?!? –

+1

你的文件没有被添加到你正在检查的程序集中。检查你是否检查正确的组件或检查你是否已经正确嵌入资源 – CarbineCoder

+0

如何将它添加到正确的组件? –