我目前在构建 Xamarin.Forms 解决方案时遇到问题。我收到一个错误The "XamlCTask" task failed unexpectedly
。我尝试查看 Xamarin 日志和 Stacktrace,但我似乎找不到问题所在。有什么建议我可以从哪里开始寻找吗?
Logs
<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">
<System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system">
<EventID>0</EventID>
<Type>3</Type>
<SubType Name="Warning">0</SubType>
<Level>4</Level>
<TimeCreated SystemTime="2016-10-11T10:45:07.4999078Z" />
<Source Name="Xamarin.VisualStudio.Android.Designer.MonoAndroidDesignerService" />
<Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" />
<Execution ProcessName="devenv" ProcessID="19260" ThreadID="1" />
<Channel />
<Computer>XXXXXX</Computer>
</System>
<ApplicationData>An unexpected error occurred trying to initialize Android Designer.</ApplicationData>
</E2ETraceEvent>
堆栈跟踪
严重性代码 说明 项目文件行抑制状态
错误“XamlCTask”任务意外失败。
System.ArgumentException:具有相同键的项目已被
添加。
服务器堆栈跟踪:位于
System.ThrowHelper.ThrowArgumentException(ExceptionResource 资源)
在 System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue
值,布尔加)在
Xamarin.Forms.Xaml.XamlParser.ParseXamlElementFor(IElementNode 节点,
XmlReader 阅读器)位于
Xamarin.Forms.Xaml.XamlParser.ReadNode(XmlReader 阅读器,布尔值
嵌套)于
Xamarin.Forms.Xaml.XamlParser.ParseXamlElementFor(IElementNode 节点,
XmlReader 阅读器)位于
Xamarin.Forms.Xaml.XamlParser.ReadNode(XmlReader 阅读器,布尔值
嵌套)于
Xamarin.Forms.Xaml.XamlParser.ParseXamlElementFor(IElementNode 节点,
XmlReader 阅读器)位于
Xamarin.Forms.Build.Tasks.XamlCTask.ParseXaml(流流,
类型参考(类型参考)位于
Xamarin.Forms.Build.Tasks.XamlCTask.Compile() 在
Xamarin.Forms.Build.Tasks.XamlCTask.Execute() 在
System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr
md、Object[] args、对象服务器、Object[]& outArgs) at
System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage
味精)
在 [0] 处重新抛出异常:
System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
reqMsg、IMessage retMsg) at
System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&
msgData,Int32 类型)位于 Microsoft.Build.Framework.ITask.Execute()
在
Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
在
Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext() XXXXXXX.XXXXXX.XXXXXX
tl;dr:
disable XamlC
在失败的页面上
[XamlCompilationAttribute (XamlCompilationOptions.Skip)]
public partial class MyPageThrowing {}
或在大会级别
[assembly:XamlCompilationAttribute (XamlCompilationOptions.Skip)]
很长的故事
引发相同异常和相同 StackTrace 的问题已在下一个(迄今为止)版本中得到修复xamarin.forms应该是 2.3.3-pre3 或 2.3.4。
确定的唯一方法是将失败的 Xaml 页面粘贴到此处,或者更好地粘贴到http://bugzilla.xamarin.com.
我真的鼓励你这样做。如果问题尚未解决。这要么是 Xaml 中的问题,需要抛出更好的异常,要么是 XamlC 中不受支持的情况,这需要修复。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)