【问题标题】:the name resources does not exist in the current context Xamarin当前上下文 Xamarin 中不存在名称资源
【发布时间】:2021-01-29 13:16:19
【问题描述】:
public class MainActivity : Activity
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.Main);
            EditText val1 = FindViewById<EditText>(Resource.Id.txtuser1);
            EditText val2 = FindViewById<EditText>(Resource.Id.txtuser2);

错误:

当前上下文中不存在名称“资源”。

【问题讨论】:

    标签: android xamarin xamarin.android


    【解决方案1】:

    我今天在Xamarin 应用程序中遇到了同样的问题。我尝试了以下方法

    1. 清理解决方案并重建
    2. 关闭 Visual Studio 并再次打开
    3. 删除objbin文件夹并重建项目

    以上方法都不适合我。真正的问题是因为文件Resource.Designer.cs 已从我的项目中排除,并且将其包含在解决方案中为我解决了问题。

    希望对你有帮助

    【讨论】:

    • 通过摇晃和清理、重建甚至重新启动 PC 都无法解决问题。最后我所要做的就是从我的项目中排除 Resource.Designer.cs 然后再次包含它。
    • 啊,我明白了。是的,似乎有一些与 Resource.Designer.cs 的处理方式有关的错误。
    【解决方案2】:

    我是这么解决的(通过视觉工作室)

    1. 删除 3 行

      SetContentView(Resource.Layout.Main);
      EditText val1 = FindViewById<EditText>(Resource.Id.txtuser1);
      EditText val2 = FindViewById<EditText>(Resource.Id.txtuser2);
      
    2. 构建 -> 清理

    3. 构建 -> 重建
    4. rewrite remove 3 line

    【讨论】:

      【解决方案3】:

      以下步骤对我有用

      • 在桌面上复制资源文件夹
      • 我成功地从项目中删除了 Resources 文件夹。我清理了解决方案,然后关闭了项目并重新启动了 VS。
      • 我将同一文件夹的副本复制到项目树中,然后将其再次包含在项目中。

      【讨论】:

      • 以上步骤我需要做的就是在我的项目中重新包含Resources.designer.cs 文件。我将文件置于源代码控制之外,但文件本身仍需在 Android 项目中引用才能构建。
      【解决方案4】:
      【解决方案5】:

      每个项目都有自己的资源,如果您使用不同的命名空间,那么您可以通过三种不同的方式修复:
      添加

      using myProjectName;
      

      或更改命名空间

      namespace myProjectName
      

      或使用限定路径:

      myProjectName.resource
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多