如何在 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 库中获取资产文件,您需要将文件标记为 EmbeddedResource
和 Copy 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);
}
之后,在您的主项目中,您可以调用此方法来获取这些文件。
如果平台是 ARM,有人知道引用资产的正确方法是什么吗? 在 x86 中,我可以将 appX 文件夹与链接一起使用,但它不适用于 ARM
谢谢
如果您想从 .NET Standard 库中获取资产文件,您需要将文件标记为 EmbeddedResource
和 Copy 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);
}
之后,在您的主项目中,您可以调用此方法来获取这些文件。