【问题标题】:Xamarin Android axml Designer, System.ArgumentNullException: Value cannot be nullXamarin Android axml Designer,System.ArgumentNullException:值不能为空
【发布时间】:2018-07-10 21:50:02
【问题描述】:

注意:最新版本的 Visual Studio Mac 和安装的最新 Xamarin 工具会发生这种情况。

我开始从事过去几年一直在维护的一个较旧的 Xamarin Android 项目。我已经很久没有对应用程序进行任何 UI 更改了,为了在屏幕上添加一些额外的信息,我需要进行一些小的调整。我打开了需要修改的屏幕的 axml 布局。这样做时,设计器视图显示以下错误:

System.ArgumentNullException:值不能为空。 参数名称:path1 在 System.IO.Path.Combine (System.String path1, System.String path2, System.String path3) [0x0002a] 在 /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds /mono-x64/mcs/class/corlib/System.IO/Path.cs:849 在 /Users/vsts/agent/2.126.0/work/1/s/Xamarin.Designer.Android/Xamarin.AndroidDesigner/Xamarin 中的 Xamarin.AndroidDesigner.DesignerProject+c.b__118_0 (System.String l) [0x00000]。 AndroidDesigner/DesignerProject.cs:532 在 System.Linq.Enumerable+SelectListIterator2[TSource,TResult].MoveNext () [0x00036] in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/external/corefx/src/System.Linq/src/System/Linq/Select.cs:365 at System.Linq.Enumerable+WhereEnumerableIterator1[TSource].MoveNext () [0x0004e] 在 /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/外部/corefx/src/System.Linq/src/System/Linq/Where.cs:146 在 System.Linq.Enumerable+SelectManySingleSelectorIterator2[TSource,TResult].ToList () [0x0002d] in /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/external/corefx/src/System.Linq/src/System/Linq/SelectMany.cs:257 at System.Linq.Enumerable.ToList[TSource] (System.Collections.Generic.IEnumerable1[T] source) [0x00015] 在 /Users/builder/data/lanes/4992/mono-mac-sdk/external/bockbuild/builds/mono-x64/external/ corefx/src/System.Linq/src/System/Linq/ToCollection.cs:30 在 Xamarin.AndroidDesigner.DesignerProject.GetLibraryProjectThemes () [0x00037] 在 /Users/vsts/agent/2.126.0/work/1/s/Xamarin.Designer.Android/Xamarin.AndroidDesigner/Xamarin.AndroidDesigner/DesignerProject.cs:531 在 /Users/vsts/agent/2.126.0/work/1/s/Xamarin.Designer.Android/Xamarin.AndroidDesigner/Xamarin.AndroidDesigner/DesignerProject 中的 Xamarin.AndroidDesigner.DesignerProject.GetIsProjectTheme (System.String themeName) [0x0000e] .cs:544 在 Xamarin.AndroidDesigner.DesignerSessionParams.GetData(Xamarin.AndroidDesigner.AndroidDesignerSession 会话,Xamarin.AndroidDesigner.AndroidRenderSession 渲染器)[0x00154] 在 /Users/vsts/agent/2.126.0/work/1/s/Xamarin.Designer.Android/ Xamarin.AndroidDesigner/Xamarin.AndroidDesigner/DesignerSessionParams.cs:209 在 Xamarin.AndroidDesigner.AndroidRenderSession+d__115.MoveNext () [0x00224] 在 /Users/vsts/agent/2.126.0/work/1/s/Xamarin.Designer.Android/Xamarin.AndroidDesigner/Xamarin.AndroidDesigner/AndroidRenderSession.cs :783

我最初认为较新的 Xamarin 工具一定存在某种语法问题,但当我尝试创建全新的 Android 布局时,我收到了与设计器相同的错误。 Xamarin Android 新布局如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

因此,我认为由于这是一个较旧的项目,因此我必须缺少某种设置选项。也许与在某处分配了不正确的设计器工具路径有关?有没有人遇到过这个错误或对检查什么有一些想法?

编辑: 附加信息 Android SDK 位置:

/Users/mrnope/Library/Developer/Xamarin/android-sdk-macosx

Android NDK 位置:

/Users/mrnope/Library/Developer/Xamarin/android-ndk/android-ndk-r14b

Java SDK (JDK) 位置:

/usr

Android SDK 工具: SDK平台:

【问题讨论】:

  • 我也有同样的问题...我已经尝试了所有的方法。如果我删除所有支持库包,有时我可以让它暂时工作(这意味着我实际上无法构建项目,因为它依赖于它们)。一旦我重新添加它们或尝试构建项目,我就会再次遇到同样的异常。

标签: visual-studio xamarin xamarin.android visual-studio-mac


【解决方案1】:

Visual Studio 很可能找不到正确的 Android SDK 路径和/或平台工具。

工具 -> 选项 -> Android 设置

并在那里插入正确的路径,然后我会仔细检查平台工具是否安装正确并且是否在同一版本的 SDK 上。

工具 -> Android -> Android SDK 管理器

【讨论】:

  • 我看过这些,但据我所知,一切看起来都是正确的。我添加了一些附加信息和查看此信息的屏幕截图。
  • 将您的 Android SDK 工具更新到版本 27
  • 我安装了最新的 SDK 构建工具。我尝试将“Android SDK 工具”切换到 26.1.1 版本,但这并没有什么不同。
  • 不知道为什么不能选择27版本。但是我建议你卸载Android SDK 27和Build Tools 27,并选择Android SDK Tools到26版本。你应该有相同版本的Android SDK、构建工具和工具。
  • 据我搜索,“Android SDK Tools”没有27版。我将所有内容切换到第 26 版,删除了所有其他版本,但没有任何变化。
猜你喜欢
  • 2021-10-23
  • 2021-08-01
  • 2020-03-01
  • 2020-09-25
  • 2013-02-10
  • 2019-11-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-11
相关资源
最近更新 更多