我希望从应用程序包中打开一个.csv文件来进行一些单元测试.所以,我真的很喜欢,是一些模拟File.ReadAllText(string path)这是不是X.ReadAllText(Uri uri).我还没有找到这个.
有没有人知道是否可以从包中的文件中读取文本/字节(不介意哪些)而不首先将此文件编译到磁盘?
哦,顺便说一句,File.ReadAllText(@"pack://application:,,,/SpreadSheetEngine/Tests/Example.csv")对我来说不起作用..我已经在做var app = new Application()诀窍,以确保我在单元测试期间启动了一个包.
Sco*_*ott 11
我只是想做同样的事情,最后使用Application.GetResourceStream.下面是一个代码示例.我使用了从流中创建字节数组的ReadFully方法.
string imagePath = "pack://application:,,,/ReferencedAssembly;Component/Assets/Images/image.png";
StreamResourceInfo imageInfo = System.Windows.Application.GetResourceStream(new Uri(imagePath));
byte[] imageBytes = ReadFully(imageInfo.Stream);
Run Code Online (Sandbox Code Playgroud)