Android CS0103和x9;名称';资源';在当前上下文中不存在

Android CS0103和x9;名称';资源';在当前上下文中不存在,android,visual-studio,xamarin,Android,Visual Studio,Xamarin,当我使用Xamarin在Visual Studio中创建android应用程序时,我遇到了一个奇怪的错误-CS0103“资源”名称在当前上下文中不存在。当我做清洁,然后建立,没有任何问题,建立是成功的。但当我在代码中更改某些内容时,错误再次出现。 我试图根据此进行更改,但资源文件夹中的所有文件名都正常。有人能帮我解决这个问题吗 我有同样的错误,但我的代码是编译的。因此,它可能与错误的导入或不明确的资源对象有关。请注意,这里有一些资源,我相信这些资源来自android sdk。简称: 确保您的命名

当我使用Xamarin在Visual Studio中创建android应用程序时,我遇到了一个奇怪的错误-CS0103“资源”名称在当前上下文中不存在。当我做清洁,然后建立,没有任何问题,建立是成功的。但当我在代码中更改某些内容时,错误再次出现。
我试图根据此进行更改,但资源文件夹中的所有文件名都正常。有人能帮我解决这个问题吗

我有同样的错误,但我的代码是编译的。因此,它可能与错误的导入或不明确的资源对象有关。请注意,这里有一些资源,我相信这些资源来自android sdk。

简称:

确保您的命名空间在下面提到的所有这些文件中都是相同的

  • Resource.Designer.cs
  • 每个处理错误的活动:“cs103资源不存在..”
  • yourproject.csproj(编辑vith记事本)(验证“RootNamespace”、“AssemblyName”与您的命名空间相同)
在您使它们都具有相同的名称空间之后,clean+build应该可以工作


长:

namespace yourNew_NameSpace  //  <-- Attention here !!!!!!
{
    [Activity(Label = "asdf", MainLauncher = true )]
    public class act_main : Activity  
    {
        TextView tv_camResolution;

        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            SetContentView(Resource.Layout.ly_main);

            tv_camResolution = FindViewById<TextView>(Resource.Id.textView1);

        }
        ......
.... 
<RootNamespace>OldNameSpace</RootNamespace>
<AssemblyName>OldNameSpace</AssemblyName>
....
                                                          //▼▼▼below see oldnamespace 
[assembly:global::Android.Runtime.ResourceDesignerAttribute("OldNameSpace.Resource", IsApplication=true)]


namespace OldNameSpace    // <--- and here see oldnamespace  
{

    ....
如果在项目中的任何位置更改了命名空间

您必须在projectname.csproj文件中找到oldNameSpace并将其替换为NewNameSpace (使用vs2015 ide外部的文本编辑器打开)

为什么??

编译Resource.Designer.cs中的project命名空间时,将使用csproj文件中的此值覆盖

任何活动:

namespace yourNew_NameSpace  //  <-- Attention here !!!!!!
{
    [Activity(Label = "asdf", MainLauncher = true )]
    public class act_main : Activity  
    {
        TextView tv_camResolution;

        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            SetContentView(Resource.Layout.ly_main);

            tv_camResolution = FindViewById<TextView>(Resource.Id.textView1);

        }
        ......
.... 
<RootNamespace>OldNameSpace</RootNamespace>
<AssemblyName>OldNameSpace</AssemblyName>
....
                                                          //▼▼▼below see oldnamespace 
[assembly:global::Android.Runtime.ResourceDesignerAttribute("OldNameSpace.Resource", IsApplication=true)]


namespace OldNameSpace    // <--- and here see oldnamespace  
{

    ....

namespace yourNew\u namespace//请发布完整的错误消息。@YorkShen MSFT它在标题-CS0103中当前上下文中不存在名称“Resource”。我想我们可能需要查看更多信息来帮助您查明问题。您可以添加一个,这将是非常感谢。可能这个已知的错误:@jimmyjudas Nope这是另一个错误