xamarin 表单错误 Droid.Resource 不包含字符串的定义
Posted
技术标签:
【中文标题】xamarin 表单错误 Droid.Resource 不包含字符串的定义【英文标题】:xamarin forms error Droid.Resource does not contain a definition for string 【发布时间】:2016-03-06 16:35:27 【问题描述】:这就是问题所在 - “字符串”下的红线。
我正在开发一个 xamarin 表单应用程序,并且我正在使用 PCL 存储插件。我认为这是导致问题的原因,我不知道如何解决它。问题出现在我的 android 解决方案中。
public static void UpdateIdValues()
global::PCLStorage.Resource.String.ApplicationName = global::XamarinClients.Droid.Resource.String.ApplicationName;
global::PCLStorage.Resource.String.Hello = global::XamarinClients.Droid.Resource.String.Hello;
我收到此错误:
错误 6“XamarinClients.Droid.Resource”不包含定义 对于“字符串”pathtomyapplication\Resources\Resource.Designer.cs
有人遇到过这个问题吗?
【问题讨论】:
这很可能是在生成资源文件时出错。您使用的是 Xamarin Studio 还是 Visual Studio? Xamarin Studio for Mac 让我很头疼 我正在使用视觉工作室。我将这些行注释掉了,但我真的很想知道错误的原因是什么.. 【参考方案1】:如果您查看 android 本地化文档,它会提到将应用程序资源字符串存储在 xml 文件中。显然,android Xamarin.Forms Resource.Designer.cs 中有一些硬编码值。 要在 values 下的资源文件夹中修复它,请添加一个名为 String.xml 的 XML 文件并将其放入:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ApplicationName">ApplicationName</string>
<string name="Hello">Hello</string>
</resources>
【讨论】:
另外,将strings.xml
的Build Action
设置为AndroidResource
【参考方案2】:
我知道这是一篇旧帖子,但我仍然在 VS2019 中收到此错误。 这通常发生在我懒惰并在 strings.xml 中按 Ctrl-D 定义一个字符串,然后将字符串名称和内容重新键入新字符串时。
程序构建良好,但即使在应用上述任何建议后,我仍然会收到不包含定义的错误。
我的解决方案是复制并删除我刚刚创建的行,然后将其粘贴到 strings.xml 中的其他位置。然后错误立即消失。
如果我将菜单项添加到 menu_main.xml,也会发生这种情况。该项目构建良好,但我仍然在引用它的代码中的菜单项 id 下看到摇摆不定的红线。返回 menu_main.xml,复制该项目,将其删除,然后再次粘贴。红线消失。
【讨论】:
【参考方案3】:通常,这可以通过简单地清理项目然后选择重建来解决。
【讨论】:
以上是关于xamarin 表单错误 Droid.Resource 不包含字符串的定义的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin 表单 - Java.Interop.lz4 访问被拒绝错误
xamarin 表单错误 Droid.Resource 不包含字符串的定义