注意:最新版本的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 + 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.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
答案 0 :(得分:0)
Visual Studio最有可能找不到合适的Android SDK路径和/或平台工具。
工具 - &gt;选项 - &gt; Android设置
然后在那里插入正确的路径,然后我会仔细检查平台工具是否正确安装并且是在相同版本的SDK上。
工具 - &gt; Android - &gt; Android SDK Manager