我刚刚将Xamarin Android项目中的所有支持库从25.3.1升级到25.4.0.1。我的项目现在无法编译(在升级之前编译和工作正常)因为一个自定义对话框子类化BottomSheetDialogFragment
。 Visual Studio将其标记为红色并表示无法找到它(“无法找到类型或命名空间BottomSheetDialogFragment”)。
在对象浏览器中,我无法在BottomSheetDialogFragment
库中找到Xamarin.Android.Support.Design
。
如果我将自定义对话框更改为子类AppCompatDialogFragment
,则所有内容都会编译并正常工作(除了对话框现在缺少底部工作表行为)。
有没有人有类似的问题?你知道BottomSheetDialogFragment
哪里消失了吗?
答案 0 :(得分:2)
Xamarin已发布版本25.4.0.2
,可以解决问题:
<package id="Xamarin.Android.Support.Design" version="25.4.0.2" targetFramework="monoandroid71" />
除了Xamarin.Android.Support.Design
之外,v25.4.0.1
BottomSheetDialogFragment
的那个版本(以及其他版本?)已经被破坏了... CheckableImageButton
,AnimationUtils
,ValueAnimatorCompat
等等遗失了(缺少 over 50个公共类)。
奇怪的是,正确的.jar
被嵌入为这些类,并从Google的Maven AS中提取这些库工作正常:
dependencies {
~~~
compile 'com.android.support:design:25.4.0'
~~~
}
即。从BottomSheetDialogFragment
classes.jar
中存在Xamarin.Android.Support.Design
类
strings __library_projects__/Xamarin.Android.Support.Design/library_project_imports/bin/classes.jar|grep -R BottomSheetDialogFragment
(standard input):android/support/design/widget/BottomSheetDialogFragment.classUT
(standard input):android/support/design/widget/BottomSheetDialogFragment.classUT
我们正在使用自定义绑定构建我们自己的Xamarin AndroidSupportComponents,以便获得最新和最好的,因为我们已经在Android Oreo的自定义版本中使用26.0.1。
应将其报告为@ https://bugzilla.xamarin.com
的错误