Uno平台中资源文件的内容构建操作

时间:2020-10-21 02:12:07

标签: c# uwp uno-platform

我在构建Uno Platform应用时收到警告。总结起来,警告如下:

...\Source\Resources\Icon-256.svg : warning XA0101: @(Content) build action is not supported
...\Source\Properties\Default.rd.xml : warning XA0101: @(Content) build action is not supported

似乎Uno平台根本不支持Content build操作。但是,有两个部分:

  1. 如何处理“ Default.rd.xml”文件。它是由UWP项目自动创建的,并且是构建所必需的。在Uno / Xamarin中,可以安全地忽略此警告。我确定还有一种方法可以将其从Uno的项目文件中排除。
  2. Icon-256.svg文件 是必需的,并在XAML中如下引用。我确实需要找到一种在程序集中包含此文件的方法。
    <Image Source="ms-appx:///Resources/LogoIconBlue-256.svg" />
    

解决方案的第一个想法是将构建操作简单地更改为“嵌入式资源”。甚至建议使用here。但是,我不相信UWP像WPF一样支持在XAML中使用嵌入式资源。实际上,马丁已经问过了,没有找到解决办法Referencing an Embedded Resource from UWP XAML

那么处理这种情况的“官方”建议是什么?我不希望使用后置代码来加载图像,但我希望这可能是实现此目的的唯一方法。

1 个答案:

答案 0 :(得分:0)

此警告由Xamarin.Android itself引起,因为它不知道如何处理Content个项目。

StorageFile.GetFileFromApplicationUriAsync()方法的支持下,此问题已在Uno 3.1中修复,该方法删除了Content个项目,将其转换为AndroidAsset个项目。