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

How to include asset files in a .NET Standard 1.4 library in ARM platform?

如果平台是 ARM,有人知道引用资产的正确方法是什么吗? 在 x86 中,我可以将 appX 文件夹与链接一起使用,但它不适用于 ARM

谢谢

如果您想从 .NET Standard 库中获取资产文件,您需要将文件标记为 EmbeddedResourceCopy Always.

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

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是文件

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

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

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

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

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