Кто-нибудь знает, как правильно ссылаться на ресурсы, если платформа ARM? В x86 я могу использовать папку appX со ссылкой, но она не работает на ARM
спасибо
Кто-нибудь знает, как правильно ссылаться на ресурсы, если платформа ARM? В x86 я могу использовать папку appX со ссылкой, но она не работает на ARM
спасибо
Если вы хотите получить файлы активов из библиотеки .NET Standard, вам нужно будет пометить файл как EmbeddedResource
и Copy Always
.
Затем вам нужно добавить метод для получения этих файлов в классе библиотеки .NET Standard. Например:
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);
}
После этого в вашем основном проекте вы можете вызвать этот метод для получения этих файлов.