【发布时间】:2016-10-11 11:06:41
【问题描述】:
我目前在构建 Xamarin.Forms 解决方案时遇到问题。我收到The "XamlCTask" task failed unexpectedly 的错误。我尝试查看 Xamarin 日志和 Stacktrace,但似乎找不到问题所在。我可以从哪里开始寻找任何建议?
日志
<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(异常资源资源) 在 System.Collections.Generic.Dictionary`2.Insert(TKey 键,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) 在 System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage 味精)
在 [0] 处重新抛出异常:在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg)在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(消息数据& 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
【问题讨论】:
-
这似乎与具有相同名称的对象有关。仔细检查您最近的更改并检查它们是否具有相同的
x:Name属性 -
不幸的是,当我重命名整个应用程序中的所有命名空间时,我进行了很多更改,但我不记得在我接触的任何组件中添加了
x:Name。 -
这太糟糕了。也许还有太多的复制/粘贴?检查双打的名称属性,可能是这样
-
好的会看看。
-
我实际上尝试了一个可行的解决方案并添加了一个具有相同
x:Name的元素,并且该解决方案实际构建了。
标签: xaml xamarin xamarin.forms