Xamarin Android axml Designer,System.ArgumentNullException:值不能为null

时间:2018-01-31 17:26:00

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

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

我开始研究过去几年我一直在维护的旧版Xamarin Android项目。自从我对应用程序进行了任何UI更改以来,我需要做一些小的调整才能在屏幕上添加一些额外的信息,这已经很长时间了。我打开了我需要修改的屏幕的axml布局。执行此操作时,设计器视图显示以下错误:

  

System.ArgumentNullException:值不能为null。   参数名称:path1     在/ Users / builder / data / lanes / 4992 / mono-mac-sdk / external / bockbuild / builds中的System.IO.Path.Combine(System.String path1,System.String path2,System.String path3)[0x0002a] /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.AndroidDesigner.DesignerProject +<> c.b__118_0(System.String l)[0x00000] /Xamarin.AndroidDesigner/DesignerProject.cs:532     在System.Linq.Enumerable + SelectListIterator 2[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+WhereEnumerableIterator 1 [TSource] .MoveNext()[0x0004e]在/ Users / builder / data / lanes / 4992 / mono-mac-sdk / external / bockbuild / builds / mono- 64 /外部/ corefx / SRC / System.Linq的/ SRC /系统/ LINQ的/ Where.cs:146     在System.Linq.Enumerable + SelectManySingleSelectorIterator 2[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.IEnumerable 1 [T] source)[0x00015] / Users / builder / data / lanes / 4992 / mono-mac-sdk / external / bockbuild / builds / mono-x64 /外部/ corefx / SRC / System.Linq的/ SRC /系统/ 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     在/Users/vsts/agent/2.126.0/work/1/s/Xamarin.Designer.Android/中的Xamarin.AndroidDesigner.DesignerSessionParams.GetData(Xamarin.AndroidDesigner.AndroidDesignerSession session,Xamarin.AndroidDesigner.AndroidRenderSession渲染器)[0x00154] Xamarin.AndroidDesigner / Xamarin.AndroidDesigner / DesignerSessionParams.cs:209     在Xamarin.AndroidDesigner.AndroidRenderSession + d__115.MoveNext()[0x00224] in /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位置:

  

/用户/ mrnope /库/开发商/ Xamarin / Android的SDK-MacOSX的

Android NDK位置:

  

/用户/ mrnope /库/开发商/ Xamarin /机器人-NDK /机器人-NDK-R14B

Java SDK(JDK)位置​​:

  

的/ usr

Files found Android SDK工具: Android SDK Tools SDK平台: SDK Platforms

1 个答案:

答案 0 :(得分:0)

Visual Studio最有可能找不到合适的Android SDK路径和/或平台工具。

  

工具 - &gt;选项 - &gt; Android设置

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

  

工具 - &gt; Android - &gt; Android SDK Manager