我正在创建一个类库。它包含几个图像。在WinRT应用程序中,我们可以枚举来自特定文件夹的文件。
var folder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Assets");
var files = await folder.GetFilesAsync(); //which returns List<StorageFile>
创建类库时,我可以像这样访问单个图像
Assembly assembly = typeof(CLASS_NAME).GetTypeInfo().Assembly;
Stream manifestResourceStream = assembly.GetManifestResourceStream("MyImage.png")
以下行返回整个程序集的所有资源,而不是特定文件夹。
string[] names = assembly.GetManifestResourceNames();
我尝试了这个,但没有奏效。它抛出异常指定的路径(ms-appx:/// LibraryName / Images)包含一个或多个无效字符。
var sf = await StorageFolder.GetFolderFromPathAsync("ms-appx:///LibraryName/Images");
现在我有将近100多张图片,所以这样就会有驴工作,所以如何访问该文件夹获取所有文件的列表?
请注意我正在为Windows Store App创建类库。
答案 0 :(得分:1)
我碰巧解决了这个问题。
GetFolderFromPathAsync仅接受&#39; \&#39; (反斜杠),而不是&#39; /&#39; (削减)。
当我使用Unity Project中的Application.dataPath
时,它也会报告此错误。
现在我用
StorageFolder storageFolder = await
StorageFolder.GetFolderFromPathAsync(
Windows.ApplicationModel.Package.Current.InstalledLocation.Path +
@"\Data\Resources"
);
获取Unity的资源文件夹。