CS0117 – Xamarin未检测到“资源”文件夹和文件
我一直在开发一个Xamarin.Forms
应用程序,最初在iOS上,现在用于Android。 我遇到了一个问题,我的代码无法看到我的MainActivity.cs
中引用的资源。 我有两个不同的资源相同的错误。
我跟随Udemy课程并且讲师强调手动构建一些xml
文件,因此有两种类型, axml
和xml
。
第一个错误
/Users/richardcurteis/Desktop/OneDrive/DevShared/XamarinProjects/NoteTaker/Droid/MainActivity.cs(35,35): Error CS0117: `NoteTaker.Droid.Resource' does not contain a definition for `Menu' (CS0117) (NoteTaker.Droid)
第二个错误:
/Users/richardcurteis/Desktop/OneDrive/DevShared/XamarinProjects/NoteTaker/Droid/MainActivity.cs(21,21): Error CS0117: `NoteTaker.Droid.Resource.Id' does not contain a definition for `action_add' (CS0117) (NoteTaker.Droid)
MainActivity.cs
using System; using Android.App; using Android.Content; using Android.Runtime; using Android.Views; using Android.Widget; using Android.OS; using SupportToolbar = Android.Support.V7.Widget.Toolbar; using Android.Support.V7.App; using System.Collections.Generic; namespace NoteTaker.Droid { [Activity (Label = "Note Taker", MainLauncher = true, Icon = "@drawable/icon")] public class MainActivity : AppCompatActivity { int count = 1; private SupportToolbar toolbar; protected override void OnCreate (Bundle savedInstanceState) { Xamarin.Insights.Initialize (XamarinInsights.ApiKey, this); base.OnCreate (savedInstanceState); new Database (); // Set our view from the "main" layout resource SetContentView (Resource.Layout.Main); toolbar = FindViewById (Resource.Id.toolbar); SetSupportActionBar (toolbar); // Get our button from the layout resource, // and attach an event to it Button button = FindViewById
addmenu.xml
包含addmenu.xml
id。
Resources
树
~/Desktop/OneDrive/DevShared/XamarinProjects/NoteTaker/Droid tree Resources/ Resources/ ├── AboutResources.txt ├── Resource.designer.cs ├── drawable │ └── addIcon.png ├── layout │ ├── Main.axml │ └── Toolbar.xml ├── menu │ └── addmenu.xml ├── mipmap-hdpi │ └── Icon.png ├── mipmap-mdpi │ └── Icon.png ├── mipmap-xhdpi │ └── Icon.png ├── mipmap-xxhdpi │ └── Icon.png ├── mipmap-xxxhdpi │ └── Icon.png └── values ├── Strings.xml └── styles.xml 9 directories, 13 files
好的,我弄清楚问题是什么。 以前当我编写代码时,我最初将’menu’文件夹放在错误的目录中。 我通过右键单击“布局”并单击“添加/新建文件夹”来完成此操作。
当我手动将文件夹拖放到正确的位置时出现问题。 但似乎Xamarin只识别通过右键单击选项添加的文件和文件夹,然后编译器只看到原始位置错误的文件。
但是,只需右键单击/“删除”即可删除文件并不能解决问题。 虽然目标文件已从Xamarin UI中删除,但它未从磁盘上的项目目录中删除,因此无法添加具有相同名称的新文件。 我不得不导航到项目文件夹并运行rm -rf menu
将其删除。 然后返回Xamarin并右键单击/添加/新建文件夹和新文件。
之后,我清理了项目并重建,它就像一个魅力。
这篇关于Xamarin论坛的post让我想到了问题所在。
Xamarin Post
我有同样的问题,但我用新文件夹和新文件创建了文件夹和文件。
我的解决方案是在使用Resource.Menu之前清理构建然后构建全部 。 除了构建所有,一切都很好。
我认为替代方法是从项目文件夹中删除“bin”和“obj”文件夹。
我花了一段时间,但我这样做了:
如果它是一个xamarin表单应用程序,更改“Resource.Layout.Xxxx”=>“Droid.Resource.Layout.Xxx”