如何在ARM平台的.NET Standard 1.4库中包含资产文件?

时间:2017-11-17 08:59:08

标签: c# uwp arm csproj .net-standard-1.4

如果平台是ARM,任何人都知道引用资产的正确方法是什么? 在x86中,我可以使用带链接的appX文件夹,但它不能在ARM上运行 谢谢

1 个答案:

答案 0 :(得分:0)

如果要从.NET标准库中获取资源文件,则需要将文件标记为EmbeddedResourceCopy Always

enter image description here

然后,您需要添加一个方法来在.NET标准库的类中获取这些文件。例如:

namespace ClassLibrary1
{
    public class Class1
    {
        public static Stream GetImage()
        {
            var assembly = typeof(Class1).GetTypeInfo().Assembly;
            Stream stream = assembly.GetManifestResourceStream("ClassLibrary1.Assets.dog.jpg");
            return stream;
        }
    }
}

请注意此行assembly.GetManifestResourceStream("ClassLibrary1.Assets.dog.jpg");

ClassLibrary1是命名空间,Assets是库项目中的Assets文件夹,dog.jpg是文件。

enter image description here

在我的示例中,我将图像文件放在Assets文件夹中,如果将它放在项目的根目录中,那么这行应该是这样的:

assembly.GetManifestResourceStream("ClassLibrary1.dog.jpg");

您可以使用以下代码查看所有嵌入资源:

foreach (var res in assembly.GetManifestResourceNames())
{
    System.Diagnostics.Debug.WriteLine("found resource: " + res);
}

之后,在您的主项目中,您可以调用此方法来获取这些文件。