使用新的 Xamarin 表单构建时出现“XamlCTask”任务意外失败”错误

Posted

技术标签:

【中文标题】使用新的 Xamarin 表单构建时出现“XamlCTask”任务意外失败”错误【英文标题】:"XamlCTask" task failed unexpectedly" error when building with the new Xamarin Forms 【发布时间】:2017-04-06 11:32:26 【问题描述】:

更新到最新的 Xamarin.Forms (2.3.4.224) 后,我不断收到构建错误。有谁知道这可能是什么?

我怀疑这可能与他们在新版本中引入的有关附加属性的新行为更改有关(但我不知道这意味着)

更多信息在这里https://forums.xamarin.com/discussion/92455/xamarin-forms-2-3-4-224

这是我的构建日志

Error       The "XamlCTask" task failed unexpectedly.
System.ArgumentException: An item with the same key has already been added.

Server stack trace: 
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at Xamarin.Forms.Xaml.XamlParser.ParseXamlElementFor(IElementNode node, XmlReader reader)
   at Xamarin.Forms.Xaml.XamlParser.ReadNode(XmlReader reader, Boolean nested)
   at Xamarin.Forms.Xaml.XamlParser.ParseXamlElementFor(IElementNode node, XmlReader reader)
   at Xamarin.Forms.Xaml.XamlParser.ReadNode(XmlReader reader, Boolean nested)
   at Xamarin.Forms.Xaml.XamlParser.ParseXamlElementFor(IElementNode node, XmlReader reader)
   at Xamarin.Forms.Xaml.XamlParser.ReadNode(XmlReader reader, Boolean nested)
   at Xamarin.Forms.Xaml.XamlParser.ParseXamlElementFor(IElementNode node, XmlReader reader)
   at Xamarin.Forms.Xaml.XamlParser.ParseXaml(RootNode rootNode, XmlReader reader)
   at Xamarin.Forms.Build.Tasks.XamlTask.ParseXaml(Stream stream, TypeReference typeReference)
   at Xamarin.Forms.Build.Tasks.XamlCTask.Execute(IList`1& thrownExceptions)
   at Xamarin.Forms.Build.Tasks.XamlTask.Execute()
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at Microsoft.Build.Framework.ITask.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() Shared          

【问题讨论】:

你应该发布你的 XAML 我的项目中有 50 个 xaml 文件,但不知道哪个有错误 我也有同样的问题。你是怎么解决的? 无法修复,所以我回滚到以前版本的表单 【参考方案1】:

我不确定这是否是相同的情况,但我遇到了同样的问题。

我安装了不同版本的表单。在我更新了所有 nuget 包并删除了所有 obj 和 bin 文件夹后,我能够毫无错误地进行构建。

【讨论】:

【参考方案2】:

清理您的解决方案并关闭您的 Visual Studio 2017。再次打开该错误将消失。

【讨论】:

以上是关于使用新的 Xamarin 表单构建时出现“XamlCTask”任务意外失败”错误的主要内容,如果未能解决你的问题,请参考以下文章

从父布局中删除和添加 xamarin 表单图像时出现问题

Xamarin XAML语言教程构建ControlTemplate控件模板

在项目 Xamarin.Forms 中构建时出现错误“值不能为空参数名称:方​​法”

Xamarin Forms 使用 XAML 显示来自嵌入式资源的图像

使用XAML Designer时出现XamlParseException

Xamarin 在启动应用程序时出现芯片错误