Silverlight 4.0 如何修复文件读取期间的异常MethodAccessException?

Silverlight 4.0 如何修复文件读取期间的异常MethodAccessException?,silverlight-4.0,windows-phone-7,filereader,Silverlight 4.0,Windows Phone 7,Filereader,我必须阅读一个文本文件,它添加到我的项目DataMid/Bigram_MidWord.txt中,其中DataMid是一个文件夹,Bigram_MidWord.txt是一个要阅读的文件。 当我写声明的时候 FileStream FileStream=newfilestream(@/SourceCode,component/DataMid/Bigram_MidWord.txt),FileMode.Open,FileAccess.ReadWrite) 然后我得到如下异常: 尝试访问该方法失败:Syst

我必须阅读一个文本文件,它添加到我的项目DataMid/Bigram_MidWord.txt中,其中DataMid是一个文件夹,Bigram_MidWord.txt是一个要阅读的文件。 当我写声明的时候

FileStream FileStream=newfilestream(@/SourceCode,component/DataMid/Bigram_MidWord.txt),FileMode.Open,FileAccess.ReadWrite)

然后我得到如下异常:
尝试访问该方法失败:System.IO.FileStream..ctor(System.String、System.IO.FileMode、System.IO.FileAccess)


如何解决此问题?

问题是您试图使用
FileStream
访问嵌入到应用程序XAP文件中的资源<代码>文件流
用于访问文件系统(例如,独立存储)

要访问XAP文件中的资源文本文件,可以使用以下代码:

字符串文本;
Uri=新Uri(“/AssembyName;component/DataMid/Bigram_middord.txt”,UriKind.RelativeOrAbsolute);
StreamResourceInfo sri=App.GetResourceStream(uri);
StreamReader sr=新StreamReader(sri.Stream);
text=sr.ReadToEnd();
高级关闭();

问题在于,您试图使用
FileStream
访问嵌入到应用程序XAP文件中的资源。
FileStream
用于访问文件系统(例如,独立存储)

要访问XAP文件中的资源文本文件,可以使用以下代码:

字符串文本;
Uri=新Uri(“/AssembyName;component/DataMid/Bigram_middord.txt”,UriKind.RelativeOrAbsolute);
StreamResourceInfo sri=App.GetResourceStream(uri);
StreamReader sr=新StreamReader(sri.Stream);
text=sr.ReadToEnd();
高级关闭();

您为该文件设置了什么生成操作?生成操作是资源您为该文件设置了什么生成操作?生成操作是资源我尝试过这样做,但在我的visual studio 2010中无法识别资源信息。很抱歉,它应该读到
StreamResourceInfo
。我现在已经更正了我的答案。我尝试了,但不知道我为什么这么做我将sri设置为null。我还尝试将文本文件构建操作设置为资源。@rubyraj因为它是作为资源添加的,所以您必须使用
Uri Uri=new Uri(“/AssembyName;component/DataMid/Bigram\u middord.txt”,UriKind.RelativeOrAbsolute);
确保用程序集的名称更改AssemblyName。@rubyraj我认为您也可以使用
Uri-Uri=new-Uri(“../DataMid/Bigram\u MidWord.txt”,UriKind.RelativeOrAbsolute)
。但未测试我尝试过这样做,但ResourceInfo在我的visual studio 2010中无法识别。很抱歉,它应该已阅读
StreamResourceInfo
。我现在已更正了我的答案。我尝试过,但不知道为什么我会将sri设置为null。我还尝试过将文本文件构建操作设置为资源。@rubyraj,因为它被添加为资源rce您必须使用
Uri-Uri=new-Uri(“/AssembyName;component/DataMid/Bigram_middord.txt”,UriKind.RelativeOrAbsolute);
确保用程序集的名称更改AssemblyName。@rubyraj我认为您也可以使用
Uri-Uri=new-Uri(../DataMid/Bigram_middord.txt,UriKind.RelativeOrAbsolute);
。但未经测试