【发布时间】:2019-08-18 11:26:52
【问题描述】:
必需的 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 管理器安装)。”
按照这个,仍然收到两个错误:
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 '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());
}
【问题讨论】:
-
你能清理 -> 重建你的解决方案吗?
-
@Batuhan 删除 bin/obj 文件夹,清理,重建 - 什么都没有。错误仍然存在。
-
你可以打开
Resources.designer.cs,它是Xamarin在你编辑任何资源文件时生成的一个类。它包含对 xml/axml 文件中任何声明、id 等的引用。如果资源有错误,Resources.designer.cs生成将失败,但您会得到一个非常模糊的错误提示。会出现细节错误,请点击Tools->options->xamarin->android settings->xamarin Diagnostics->output verbosity->选择details;然后点击Tools->options->projects and solutions->build and run->MSBuild project build output verbosity->选择detailed -
然后再次编译您的项目并检查输出窗口。它会告诉你到底是什么问题。
-
@LeonLu-MSFT 擦除并重新安装安装 - 没有变化。删除和重新生成
Resources.designer.cs- 没有变化。将其与新生成的Xamarin.FormsResources.designer.cs进行比较,特别是关于Tabbar和Toolbar- 没有区别。更改详细程度会导致相同的输出,除了我认为是行引用。将此添加到原始帖子(OP)中。还有什么可以尝试的?
标签: android xamarin xamarin.forms xamarin.android