xamarin 的 "XamlCTask" 任务在 visual studio 上意外失败
The "XamlCTask" task failed unexpectedly on visual studio for xamarin
当我尝试在 visual studio 上的 Xamarin 上 运行 应用程序时,出现如下所述的错误并且无法 运行 设备或模拟器上的应用程序:
The "XamlCTask" task failed unexpectedly.
Microsoft.Cci.Pdb.PdbDebugException: Unknown custom metadata item kind: 6
at Microsoft.Cci.Pdb.PdbFunction.ReadCustomMetadata(BitAccess bits)
at Microsoft.Cci.Pdb.PdbFunction..ctor(ManProcSym proc, BitAccess bits)
at Microsoft.Cci.Pdb.PdbFunction.LoadManagedFunctions(BitAccess bits, UInt32 limit, Boolean readStrings)
at Microsoft.Cci.Pdb.PdbFile.LoadFuncsFromDbiModule(BitAccess bits, DbiModuleInfo info, IntHashTable names, ArrayList funcList, Boolean readStrings, MsfDirectory dir, Dictionary`2 nameIndex, PdbReader reader)
at Microsoft.Cci.Pdb.PdbFile.LoadFunctions(Stream read, Dictionary`2& tokenToSourceMapping, String& sourceServerData)
at Mono.Cecil.Pdb.PdbReader.PopulateFunctions()
at Mono.Cecil.Pdb.PdbReader.ProcessDebugHeader(ImageDebugDirectory directory, Byte[] header)
at Mono.Cecil.ModuleDefinition.ProcessDebugHeader()
at Mono.Cecil.ModuleDefinition.ReadSymbols(ISymbolReader reader)
at Mono.Cecil.ModuleReader.ReadSymbols(ModuleDefinition module, ReaderParameters parameters)
at Mono.Cecil.ModuleReader.CreateModuleFrom(Image image, ReaderParameters parameters)
at Mono.Cecil.ModuleDefinition.ReadModule(Stream stream, ReaderParameters parameters)
at Mono.Cecil.ModuleDefinition.ReadModule(String fileName, ReaderParameters parameters)
at Xamarin.Forms.Build.Tasks.XamlCTask.Compile()
at Xamarin.Forms.Build.Tasks.XamlCTask.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__1.MoveNext() MyFirstProject
在添加此 "Xamarin.Forms.Maps" NuGet 包之前,我的应用程序正在运行,但当我添加此应用程序时突然停止 运行ning 并出现错误。
任何人都可以帮助我是什么导致了这种类型的问题?
如果您的 Xamarin.Form 版本不是 compatible/matching 您安装的 NuGet 包,就会出现此问题。
所以,我刚刚更新了 xx.Droid 和 PCL 的 Xamarin.Forms,并使依赖关系与 NuGet 包相匹配。
现在一切正常。希望这对你有用。
我从所有项目中删除了所有 Xamarin 引用,删除了所有 Xamaring 包。删除了 PROJ 文件中所有提及 Xamarin 的内容,并为 Xamarin 重新添加了所有 nuget 包。 (为此浪费了几天):)
删除你的旧包/[your project root]/packages/Xamarin.Forms.[old version number]
。
将 Xamarin.Forms 更新到 android 和 iOS 项目的最新版本并重新打开项目对我有用。
我在 Visual Studio for Mac
中遇到 Xamarin.Mac
的错误。我 unloded
Xamarin.Mac
项目。比从 solution
中删除它。最后从解决方案文件夹中删除 xamarin.Mac
文件夹。 Atlas deleted
解决方案文件夹中的 packages
文件夹。从 xamarin forms
项目中删除所有 nuget packages
。
现在我再次将 nuget packages
添加到 xamarin 表单项目。将 Xamarin.Mac
项目添加到解决方案中,并使 modifications
变得必要。这导致成功 build
。虽然我的问题是 xamarin.mac
这个过程也可能解决其他 projects
的问题。
当我们在 Xamarin.Forms 中添加 ContentPage 页面时。在该页面中,我们在同一页面中添加了不止一个 ContentPage.Content。然后我们也会得到这种类型的错误。
如果您不小心遇到任何语法错误,也可能会出现这种问题,例如我的情况:ListView 中存在两个文本单元格 -
<ListView x:Name="ProductsView">
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding ProductId}" />
<TextCell Text="{Binding ProductDescription}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我浏览了有关此问题的其他帖子,发现由于存在语法错误而出现了同样的问题,而 VS 不会直接报告这些错误。所以寻找这个,否则,重新安装xamarin.forms
的兼容版本->清理解决方案->通过重新打开VS重建。
如果您的 XAML 文件中有 XML 个错误,也可能会发生这种情况。示例:
<Label Text="<- go back" />
(您不能在那里使用字符 <
,请改用 <
。)
或两个同名属性:
<Label Text="someText" HorizontalOptions="Center" Text="someText" />
当我尝试在 visual studio 上的 Xamarin 上 运行 应用程序时,出现如下所述的错误并且无法 运行 设备或模拟器上的应用程序:
The "XamlCTask" task failed unexpectedly.
Microsoft.Cci.Pdb.PdbDebugException: Unknown custom metadata item kind: 6
at Microsoft.Cci.Pdb.PdbFunction.ReadCustomMetadata(BitAccess bits)
at Microsoft.Cci.Pdb.PdbFunction..ctor(ManProcSym proc, BitAccess bits)
at Microsoft.Cci.Pdb.PdbFunction.LoadManagedFunctions(BitAccess bits, UInt32 limit, Boolean readStrings)
at Microsoft.Cci.Pdb.PdbFile.LoadFuncsFromDbiModule(BitAccess bits, DbiModuleInfo info, IntHashTable names, ArrayList funcList, Boolean readStrings, MsfDirectory dir, Dictionary`2 nameIndex, PdbReader reader)
at Microsoft.Cci.Pdb.PdbFile.LoadFunctions(Stream read, Dictionary`2& tokenToSourceMapping, String& sourceServerData)
at Mono.Cecil.Pdb.PdbReader.PopulateFunctions()
at Mono.Cecil.Pdb.PdbReader.ProcessDebugHeader(ImageDebugDirectory directory, Byte[] header)
at Mono.Cecil.ModuleDefinition.ProcessDebugHeader()
at Mono.Cecil.ModuleDefinition.ReadSymbols(ISymbolReader reader)
at Mono.Cecil.ModuleReader.ReadSymbols(ModuleDefinition module, ReaderParameters parameters)
at Mono.Cecil.ModuleReader.CreateModuleFrom(Image image, ReaderParameters parameters)
at Mono.Cecil.ModuleDefinition.ReadModule(Stream stream, ReaderParameters parameters)
at Mono.Cecil.ModuleDefinition.ReadModule(String fileName, ReaderParameters parameters)
at Xamarin.Forms.Build.Tasks.XamlCTask.Compile()
at Xamarin.Forms.Build.Tasks.XamlCTask.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__1.MoveNext() MyFirstProject
在添加此 "Xamarin.Forms.Maps" NuGet 包之前,我的应用程序正在运行,但当我添加此应用程序时突然停止 运行ning 并出现错误。
任何人都可以帮助我是什么导致了这种类型的问题?
如果您的 Xamarin.Form 版本不是 compatible/matching 您安装的 NuGet 包,就会出现此问题。
所以,我刚刚更新了 xx.Droid 和 PCL 的 Xamarin.Forms,并使依赖关系与 NuGet 包相匹配。
现在一切正常。希望这对你有用。
我从所有项目中删除了所有 Xamarin 引用,删除了所有 Xamaring 包。删除了 PROJ 文件中所有提及 Xamarin 的内容,并为 Xamarin 重新添加了所有 nuget 包。 (为此浪费了几天):)
删除你的旧包/[your project root]/packages/Xamarin.Forms.[old version number]
。
将 Xamarin.Forms 更新到 android 和 iOS 项目的最新版本并重新打开项目对我有用。
我在 Visual Studio for Mac
中遇到 Xamarin.Mac
的错误。我 unloded
Xamarin.Mac
项目。比从 solution
中删除它。最后从解决方案文件夹中删除 xamarin.Mac
文件夹。 Atlas deleted
解决方案文件夹中的 packages
文件夹。从 xamarin forms
项目中删除所有 nuget packages
。
现在我再次将 nuget packages
添加到 xamarin 表单项目。将 Xamarin.Mac
项目添加到解决方案中,并使 modifications
变得必要。这导致成功 build
。虽然我的问题是 xamarin.mac
这个过程也可能解决其他 projects
的问题。
当我们在 Xamarin.Forms 中添加 ContentPage 页面时。在该页面中,我们在同一页面中添加了不止一个 ContentPage.Content。然后我们也会得到这种类型的错误。
如果您不小心遇到任何语法错误,也可能会出现这种问题,例如我的情况:ListView 中存在两个文本单元格 -
<ListView x:Name="ProductsView">
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding ProductId}" />
<TextCell Text="{Binding ProductDescription}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我浏览了有关此问题的其他帖子,发现由于存在语法错误而出现了同样的问题,而 VS 不会直接报告这些错误。所以寻找这个,否则,重新安装xamarin.forms
的兼容版本->清理解决方案->通过重新打开VS重建。
如果您的 XAML 文件中有 XML 个错误,也可能会发生这种情况。示例:
<Label Text="<- go back" />
(您不能在那里使用字符 <
,请改用 <
。)
或两个同名属性:
<Label Text="someText" HorizontalOptions="Center" Text="someText" />