Xamarin Android错误:<identifier>预期的程序包@string

时间:2018-06-23 08:00:28

标签: c# android xml xamarin

在我的应用程序中,我尝试减少了更新字符串名称所需的位置,因此我在Resources / values / Strings.xml文件中添加了一个字符串,但是当我尝试测试构建时,出现了一个奇怪的错误我无法找到解决方案,也不知道为什么要这样做。

有人对此有任何了解吗?

此处是xml代码:

<resources> <string name="service_name">ITMNotificationService</string> </resources>

在“服务”属性中使用它:

[Service (Label = "@string/service_name"
    , Name = "@string/service_name"
    , Icon = "@drawable/ITMIcon"
    )]

控制台中的错误;

1 个答案:

答案 0 :(得分:0)

Name的{​​{1}}参数定义将在编译时生成的ACW中使用的Java类名称。

因此ServiceAttribute文字字符串不能用于Java类名,因为这是无效的。通常,这是包含您的程序包ID的完全合格的类名。

@string/service_name

您可以通过C#Name = "com.sushihangover.coolapp.mywickedservice" 字符串来定义此字符串,但不能通过基于Android资源的字符串值来定义。

注意:您不需要定义const,Xamarin将通过MD5哈希例程自动生成一个。然后,在调用Name方法时使用typeof代替Java类名。