Xamarin'Resource.Layout'不包含'*'错误的定义

时间:2019-03-27 19:17:51

标签: android xamarin xamarin.forms xamarin.android

必需的Android支持库

该套件中的控件需要特定的Xamarin Android支持库才能在Android上正确呈现。

以下列出了使用我们的套件的所有Android项目的常见要求:

Xamarin Forms软件包的最低要求版本为3.4。 所有Xamarin Android支持库的最低要求版本是27.2.0.1。 以下列出了所有软件包:

Xamarin.Android.Support.v4
Xamarin.Android.Support.Design
Xamarin.Android.Support.v7.AppCompat
Xamarin.Android.Support.v7.CardView
Xamarin.Android.Support.v7.MediaRouter
Xamarin.Android.Support.Vector.Drawable
Xamarin.Android.Support.Animated.Vector.Drawable
Xamarin.Android.Support.v7.RecyclerView
Xamarin.Android.Support.v8.RenderScript 

Android项目的目标Android版本应为Android 8.1(API级别27)或更高版本。

必须安装相应的目标Android版本Android SDK才能使用所需的支持库(通过Android SDK Manager安装)。”

此操作仍然出现两个错误:

Error:CS0117 
'Resource.Layout' does not contain a definition for 'Tabbar'
'Resource.Layout' does not contain a definition for 'Toolbar'

尝试使用Visual Studio中的Android SDK管理器卸载并重新安装SDK,SDK工具,SDK平台工具,SDK构建工具,Android Emulator,LLDB,NDK,Extras和SDK Patcher Applier v4。

已删除bin / obj文件夹,重新启动VS,清理并重建。

错误仍然存​​在。 如何修复错误CS0117 Xamarin'Resource.Layout'不包含'*'的定义?

1>  C:\Users\...\MyApp.Android\MainActivity.cs(44,49,44,53): error CS0117: 'Resource.Layout' does not contain a definition for 'Tabbar'
1>  C:\Users\...\MyApp.Android\MainActivity.cs(45,47,45,52): error CS0117: 'Resource.Layout' does not contain a definition for 'Toolbar'

protected override void OnCreate(Bundle bundle)
{
_Instance = this;

TabLayoutResource = Resource.Layout.Tabbar; (LINE 44)
ToolbarResource = Resource.Layout.Toolbar;  (LINE 45)

base.OnCreate(bundle); (LINE 47)

CrossCurrentActivity.Current.Init(this, bundle); (LINE 49)
global::Xamarin.Forms.Forms.Init(this, bundle);

Metrics = Resources.DisplayMetrics; (LINE 52)
widthInDp = ConvertPixelsToDp(Metrics.WidthPixels); (LINE 53)
heightInDp = ConvertPixelsToDp(Metrics.HeightPixels);

LoadApplication(new App());
}

1 个答案:

答案 0 :(得分:0)

答案与诸如Android之类的Android构建错误有关的各种问题之间,答案是不同的。现在,对我来说,解决方法是撤消对Packages.config和项目文件本身的所有更改,在我的情况下为Android.csproj。值得一提的是,我看到了一个新错误:Ambiguity between 'Resource.Layout.Tabbar' and 'Resource.Layout.Tabbar'(与Toolbar相同),但这不会阻止构建和部署。

另一种可能的解决方案,注意到Resources.designer.cs文件夹和Resources文件夹中都存在Resources\drawable文件。排除以前的方法似乎已经奏效。不知道为什么有两个。希望这对其他人有帮助。