【发布时间】: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+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+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
【问题讨论】:
-
我也有同样的问题...我已经尝试了所有的方法。如果我删除所有支持库包,有时我可以让它暂时工作(这意味着我实际上无法构建项目,因为它依赖于它们)。一旦我重新添加它们或尝试构建项目,我就会再次遇到同样的异常。
标签: visual-studio xamarin xamarin.android visual-studio-mac