'资源'在当前背景下不存在

时间:2018-01-09 10:06:07

标签: c# android xamarin visual-studio-2015 xamarin.android

我正在使用Visual Studio 2015开发Android-Xamarin应用程序。 在我认为它是Xamarin Update 4.8.0.754的倒数第二个Visual Studio工具后,我遇到了问题。

在整个解决方案中,找不到资源

  

名称'资源'在当前背景下不存在。

如截图所示: enter image description here

建议的潜在修复方法是使用Android;"

这对我没有任何帮助,如下一个屏幕截图所示: enter image description here

现在错误消息是

  

' Resource.Id'不包含' IDNAME'

的定义

也许你可以帮我解决这个问题: - )

作为附加信息:我也遇到了这个帖子中讨论的问题: Xamarin Android project cannot build because R$anim.class is in use

这两个问题一直发生在现在。

编辑:

假设在我的解决方案中,缺少资源的项目被称为" ProjectName.Client.Droid"。 在这个项目中,有一些文件夹,如"活动","适配器","片段",...,和"资源"

在代码中,我可以选择例如" ProjectName.Client.Droid.Fragment",在这种情况下,IntelliSens甚至建议" .Fragments"如果我输入" F"

我看到除了Resources文件夹之外的项目中的每个文件夹。

ProjectName.Client.Droid.Fragments      // works
ProjectName.Client.Droid.Resources      // not found

2 个答案:

答案 0 :(得分:1)

使用android类不会修复它,因为它与Resource所需的类不同。
使用未知资源遇到此问题意味着您的VS未正确加载。 (有时与我的相同)

这可以通过重启VS来解决。关闭Visual Studio,重新打开Visual Studio并等待重新加载所有内容,它还可以解决使用中的问题。

"Xamarin Android project cannot build because R$anim.class is in use"

但另一件可能让您对资源有疑问的事情就是在您的项目中使用不同的命名空间。

建议步骤:
 1.请删除你在android上的导入以开始修复。
 2.检查命名空间是否与项目不同(特别是对于复制粘贴代码)
 3.重新启动VS,然后重新打开。请等待VS加载所需的一切。

注意:我重新加载VS Resource.Designer而不是重新启动的另一种方法是向项目添加任何内容,如空白活动,然后等待活动变为蓝绿色:

public class MyClassName : Activity <- this one

<强>更新
关于命名空间。请注意,我的活动命名空间与我的项目名称相同。如果它具有不同的命名空间,您将无法找到Resource文件夹。如果是这种情况,如果您打算更改命名空间,可以尝试将项目名称与命名空间相同,您可以使用命名空间名称导入它; <登记/> 这通常发生在我们尝试复制粘贴来自不同项目的代码时,或者我们只是通过键入命名空间而错过了一些字母而犯了错误。

enter image description here enter image description here

答案 1 :(得分:0)

与此同时,此错误通过更新VisualStudio和Xamarin得以解决。