C# 在Windows应用商店应用程序中使用StreamReader
我发现了一个很难解释的问题,我放弃了自己去寻找答案。我目前正在开发一个Windows 8应用商店应用程序,我正在使用MS Visual Studio 2012(当然) 我想在应用程序启动时读取csv文件。我用类创建了一个新的.cs文件,其中一个应该拥有这个文件读取方法。在这一点上,一切都正常,但当我开始实现阅读器时,我得到了以下错误消息: System.IO.StreamReader.StreamReader(System.IO.Stream)“”的最佳重载方法匹配的参数无效。 参数1:无法从“字符串”转换为“System.IO.Stream” 我想知道,因为所有MS引用都说,C# 在Windows应用商店应用程序中使用StreamReader,c#,windows-8,windows-store-apps,streamreader,C#,Windows 8,Windows Store Apps,Streamreader,我发现了一个很难解释的问题,我放弃了自己去寻找答案。我目前正在开发一个Windows 8应用商店应用程序,我正在使用MS Visual Studio 2012(当然) 我想在应用程序启动时读取csv文件。我用类创建了一个新的.cs文件,其中一个应该拥有这个文件读取方法。在这一点上,一切都正常,但当我开始实现阅读器时,我得到了以下错误消息: System.IO.StreamReader.StreamReader(System.IO.Stream)“”的最佳重载方法匹配的参数无效。 参数1:无法从“
System.IO.StreamReader
可以有一个字符串作为参数。奇怪的只是为了好玩,我创建了一个简单的控制台应用程序,我复制了所有这些StreamReader的东西,奇迹是,它工作正常
也许我对Win 8商店应用程序了解得太少,但老实说,我找不到有关此问题的任何信息
存储应用程序中的代码:
public void readCSV()
{
string path = @"ms-appdata://Asstes/Content/data.csv";
try
{
using (System.IO.StreamReader sr = newSystem.IO.StreamReader(path))
{
while (sr.Peek() >= 0)
{
Console.WriteLine(sr.ReadLine());
}
}
}
finally
{
}
}
static void Main(string[] args)
{
System.IO.StreamReader reader;
reader = new System.IO.StreamReader("path.csv");
reader.ReadLine();
}
以及编译器(作为控制台应用程序)接受的代码:
我用它来读取资源文件:
public static async Task<IList<Person>> GetPeople()
{
var file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/People.xml"));
var stream = await file.OpenStreamForReadAsync();
using (StreamReader sr = new StreamReader(stream))
{
while (sr.Peek() >= 0)
{
var a = sr.ReadLine();
}
}
}
公共静态异步任务GetPeople()
{
var file=wait-StorageFile.getfilefromApplicationUrisync(新Uri(“ms”)-appx:///Assets/People.xml"));
var stream=await file.OpenStreamForReadAsync();
使用(StreamReader sr=新StreamReader(stream))
{
而(sr.Peek()>=0)
{
var a=sr.ReadLine();
}
}
}
People.xml有一个内容/不复制的构建操作。哦,所以我对这方面知之甚少。。。好的,谢谢。但是这个问题比另一个问题要具体一点。嗯,链接答案的解决方案不再可用,因为我看到了…我在答案上添加了一个包含新链接的注释。谢谢!我在这里找到了一些MS示例: