Android 升级到 Xamarin Forms 2.0 后的资源问题
Android Resource issues after upgrading to Xamarin Forms 2.0
我最近将 2 台机器从 Xamarin Forms 1.x 升级到 2.0。一台机器没问题,Xamarin Forms 项目构建良好 Android。另一台机器有可怕的问题。
我们已尝试卸载并重新安装所有内容 - Xamarin、Android SDK、所有 NuGet 包 - 很多 - 但得到相同的错误消息。
这似乎与 Android 应用程序兼容性有关。
复制步骤是:
- 创建新的 Forms 1.3 项目 - 编译和 运行 - 一切正常
- 将项目从 Forms 1.3 升级到 2.0 - 问题
错误如下:
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1290,119,1290,143): error CS0117: 'Resource.Styleable' does not contain a definition for 'SnackbarLayout_elevation'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1291,130,1291,165): error CS0117: 'Resource.Styleable' does not contain a definition for 'SnackbarLayout_maxActionInlineWidth'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1308,104,1308,113): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1309,118,1309,141): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabBackground'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1310,120,1310,145): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabContentStart'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1311,115,1311,135): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabGravity'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1312,122,1312,149): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabIndicatorColor'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1313,123,1313,151): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabIndicatorHeight'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1314,116,1314,137): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabMaxWidth'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1315,116,1315,137): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabMinWidth'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1316,112,1316,129): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabMode'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1317,115,1317,135): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabPadding'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1318,121,1318,147): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabPaddingBottom'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1319,118,1319,141): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabPaddingEnd'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1320,120,1320,145): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabPaddingStart'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1321,118,1321,141): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabPaddingTop'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1322,125,1322,155): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabSelectedTextColor'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1323,122,1323,149): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabTextAppearance'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1324,117,1324,139): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabTextColor'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1331,110,1331,125): error CS0117: 'Resource.Styleable' does not contain a definition for 'TextInputLayout'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1332,123,1332,151): error CS0117: 'Resource.Styleable' does not contain a definition for 'TextInputLayout_android_hint'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1333,132,1333,169): error CS0117: 'Resource.Styleable' does not contain a definition for 'TextInputLayout_android_textColorHint'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1334,123,1334,151): error CS0117: 'Resource.Styleable' does not contain a definition for 'TextInputLayout_errorEnabled'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1335,130,1335,165): error CS0117: 'Resource.Styleable' does not contain a definition for 'TextInputLayout_errorTextAppearance'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1336,131,1336,167): error CS0117: 'Resource.Styleable' does not contain a definition for 'TextInputLayout_hintAnimationEnabled'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1337,129,1337,163): error CS0117: 'Resource.Styleable' does not contain a definition for 'TextInputLayout_hintTextAppearance'
删除 Resource.Designer.cs 文件中的所有内容(不是文件本身)并重建。它应该会为您重新生成文件,错误就会消失。
第一步下一步
确保您的 Google 支持包都在 23.0.1.3。这是 XF 2.0 的要求,但它们应该已通过 XF 2.0 升级进行更新。
当其他所有方法都失败时(从我对另一个问题的回答中复制过来)
1. Clean solution
2. update-package -reinstall (can use -project just for your Android project)
3. Delete Resource.Designer.cs contents again
4. Restart Visual Studio
5. Rebuild once again
您可能还想在这些步骤中加入抽泣、祈祷或诅咒 :)
最后一件事,如果这不起作用,请再试一次,但这次卸载所有 NuGet 包和组件而不是重新安装。这以前对我有用。
然后确保您的缓存是干净的 (C:\Users\yourusername\AppData\Local\Xamarin)。我通常会删除这里的所有内容,以便它可以重建它们。
不幸的是,我不得不做上面列出的所有事情才能让 Resource.Designer.cs 在以前的场合工作。
我最近将 2 台机器从 Xamarin Forms 1.x 升级到 2.0。一台机器没问题,Xamarin Forms 项目构建良好 Android。另一台机器有可怕的问题。
我们已尝试卸载并重新安装所有内容 - Xamarin、Android SDK、所有 NuGet 包 - 很多 - 但得到相同的错误消息。
这似乎与 Android 应用程序兼容性有关。
复制步骤是:
- 创建新的 Forms 1.3 项目 - 编译和 运行 - 一切正常
- 将项目从 Forms 1.3 升级到 2.0 - 问题
错误如下:
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1290,119,1290,143): error CS0117: 'Resource.Styleable' does not contain a definition for 'SnackbarLayout_elevation'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1291,130,1291,165): error CS0117: 'Resource.Styleable' does not contain a definition for 'SnackbarLayout_maxActionInlineWidth'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1308,104,1308,113): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1309,118,1309,141): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabBackground'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1310,120,1310,145): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabContentStart'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1311,115,1311,135): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabGravity'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1312,122,1312,149): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabIndicatorColor'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1313,123,1313,151): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabIndicatorHeight'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1314,116,1314,137): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabMaxWidth'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1315,116,1315,137): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabMinWidth'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1316,112,1316,129): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabMode'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1317,115,1317,135): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabPadding'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1318,121,1318,147): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabPaddingBottom'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1319,118,1319,141): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabPaddingEnd'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1320,120,1320,145): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabPaddingStart'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1321,118,1321,141): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabPaddingTop'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1322,125,1322,155): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabSelectedTextColor'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1323,122,1323,149): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabTextAppearance'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1324,117,1324,139): error CS0117: 'Resource.Styleable' does not contain a definition for 'TabLayout_tabTextColor'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1331,110,1331,125): error CS0117: 'Resource.Styleable' does not contain a definition for 'TextInputLayout'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1332,123,1332,151): error CS0117: 'Resource.Styleable' does not contain a definition for 'TextInputLayout_android_hint'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1333,132,1333,169): error CS0117: 'Resource.Styleable' does not contain a definition for 'TextInputLayout_android_textColorHint'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1334,123,1334,151): error CS0117: 'Resource.Styleable' does not contain a definition for 'TextInputLayout_errorEnabled'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1335,130,1335,165): error CS0117: 'Resource.Styleable' does not contain a definition for 'TextInputLayout_errorTextAppearance'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1336,131,1336,167): error CS0117: 'Resource.Styleable' does not contain a definition for 'TextInputLayout_hintAnimationEnabled'
2>d:\Documents\Visual Studio 2015\Projects\App4\App4\App4.Droid\Resources\Resource.Designer.cs(1337,129,1337,163): error CS0117: 'Resource.Styleable' does not contain a definition for 'TextInputLayout_hintTextAppearance'
删除 Resource.Designer.cs 文件中的所有内容(不是文件本身)并重建。它应该会为您重新生成文件,错误就会消失。
第一步下一步
确保您的 Google 支持包都在 23.0.1.3。这是 XF 2.0 的要求,但它们应该已通过 XF 2.0 升级进行更新。
当其他所有方法都失败时(从我对另一个问题的回答中复制过来)
1. Clean solution
2. update-package -reinstall (can use -project just for your Android project)
3. Delete Resource.Designer.cs contents again
4. Restart Visual Studio
5. Rebuild once again
您可能还想在这些步骤中加入抽泣、祈祷或诅咒 :)
最后一件事,如果这不起作用,请再试一次,但这次卸载所有 NuGet 包和组件而不是重新安装。这以前对我有用。
然后确保您的缓存是干净的 (C:\Users\yourusername\AppData\Local\Xamarin)。我通常会删除这里的所有内容,以便它可以重建它们。
不幸的是,我不得不做上面列出的所有事情才能让 Resource.Designer.cs 在以前的场合工作。