xamarin 表单错误 Droid.Resource 不包含字符串的定义

xamarin forms error Droid.Resource does not contain a definition for string

这就是问题所在 - "String".

下的红线

我正在开发一个 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;
}

我收到这个错误:

Error 6 'XamarinClients.Droid.Resource' does not contain a definition for 'String' pathtomyapplication\Resources\Resource.Designer.cs

有人遇到过这个问题吗?

如果您查看 android 本地化文档,它会提到将应用程序资源字符串存储在 xml 文件中。显然 android Xamarin.Forms Resource.Designer.cs 中有一些硬编码值。 要在资源文件夹中的值下修复它,请添加一个名为 String.xml 的 XML 文件,并在其中放入:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <string name="ApplicationName">ApplicationName</string>
  <string name="Hello">Hello</string>
</resources>

通常,只需清理项目然后选择重建即可解决此问题。

我知道这是一个旧的 post,但我在 VS2019 中仍然遇到此错误。 这通常发生在我懒惰时,Ctrl-D 在 strings.xml 中定义一个字符串,然后将字符串名称和内容重新输入到新字符串中。

程序构建良好,但即使在应用上述任何建议后我仍然收到不包含定义错误。

我的解决方案是复制并删除我刚刚创建的行,然后将其粘贴到 strings.xml 中的其他位置。然后错误立即消失。

如果我向 menu_main.xml 添加菜单项,也会发生这种情况。该项目构建良好,但我仍然在引用它的代码中的菜单项 ID 下看到一条摇摆不定的红线。返回 menu_main.xml,复制该项目,将其删除,然后再次粘贴回去。红线消失。