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

问题描述 投票:0回答:1

必需的Android支持库

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

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

Xamarin Forms软件包的最低要求版本为3.4。所有Xamarin Android支持库的最低要求版本是27.0.2.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模拟器,LLDB,NDK,Extras和SDK Patcher Applier v4。

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

错误仍然存​​在。如何修复错误CS0117 Xamarin'Source.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());
}
android xamarin xamarin.forms xamarin.android
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.