Почему я не могу найти изображение, добавленное в мой образец решения для Android?
Я все еще новичок в Visual Studio/Xamarin. Я пытаюсь вставить изображение в свой образец Android.
Я использую сообщество Visual Studio для Mac 8.4.5 (сборка 19) на macOS Mojava 10.14.6 и следующие пакеты:
- BruTile 2.1.2
- Mapsui 1.4.8
- OsmSharp 6.2.0
- Xamarin.Android.Support.Core.Utils 28.0.0.3
- Xamarin.Android.Support.CustomTabs 28.0.0.3
- Xamarin.Android.Support.Design 28.0.0.3
- Xamarin.Essentials 1.3.1
В своем решении я добавил изображение в следующие места:
- Ресурсы> Изображения> sample.png
- Ресурсы> чертежи> sample.png
Затем я пытаюсь найти его, используя следующий код:
String target = "sample.png"
Assembly resourceAssembly = null;
String resourceName = null;
Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach (Assembly assembly in assemblies)
{
Console.WriteLine("Assembly: '" + assembly.GetName());
try
{
String[] fileNames = assembly.GetManifestResourceNames();
foreach (var fileName in fileNames)
{
Console.WriteLine("File Name: '" + fileName + "'");
if (fileName.ToUpper().EndsWith(target.ToUpper()))
{
resourceAssembly = assembly;
resourceName = fileName;
}
}
}
catch (NotSupportedException e)
{
Console.WriteLine(
"Not Supported for Assembly: '" + assembly.GetName() + "' (" + e.GetType() + ")"
);
}
}
if (resourceName != null) {
Console.WriteLine("Resource file name [{0}] found as [{1}]", fileName, resourceName);
}
Журнал консоли показывает большое количество сборок и имен файлов, но никогда не выводит последнюю строку и, следовательно, не находит файл sample.png.
Почему этот код не находит файл? Я добавил файл в неправильное место в своем решении? Или мне нужно что-то дополнительно сделать?
(Сейчас я предпочитаю продолжать использовать метод сборки для поиска файла.)
1 ответ
Я не уверен на 100%, что вы пытаетесь сделать, товарищ, но если вам нужно изображение, чтобы показать, вы можете использовать xaml.
<Image Source="sample.jpg" />
Пока имя файла написано в нижнем регистре, никаких специальных символов / чисел и нет - Ресурсы> чертежи, которые он должен отображать.
Надеюсь это поможет.