C# 如何在ARM平台的.NET标准1.4库中包含资产文件?

C# 如何在ARM平台的.NET标准1.4库中包含资产文件?,c#,uwp,arm,csproj,.net-standard-1.4,C#,Uwp,Arm,Csproj,.net Standard 1.4,如果平台是ARM,有人知道引用资产的正确方法吗? 在x86中,我可以使用带有链接的appX文件夹,但它在ARM上不起作用 谢谢如果您想从.NET标准库获取资产文件,您需要将该文件标记为EmbeddedResource和Copy Always 然后,您需要添加一个方法来在.NET标准库的类中获取这些文件。例如: namespace ClassLibrary1 { public class Class1 { public static Stream GetImage

如果平台是ARM,有人知道引用资产的正确方法吗? 在x86中,我可以使用带有链接的appX文件夹,但它在ARM上不起作用


谢谢

如果您想从.NET标准库获取资产文件,您需要将该文件标记为
EmbeddedResource
Copy Always

然后,您需要添加一个方法来在.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
是文件

在我的示例中,我将图像文件放在Assets文件夹中,如果将其放在project的根目录中,则此行应如下所示:

assembly.GetManifestResourceStream(“ClassLibrary1.dog.jpg”)

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

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

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

谢谢您的回答,但我希望在xaml中使用这些资产,就像在uwp项目中一样。有什么解决方案吗?@Lockness您不能直接从.NET标准库在xaml页面中使用这些文件。谢谢您的回答。嗯,是的,您可以!看看这个guice-