当我试图在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包之前,我的应用程序正在运行但是我已经添加了这个突然应用程序停止运行并出现错误。
有人可以帮我解决导致这类问题的原因吗?
如果您的Xamarin.Form版本与您安装的NuGet软件包不兼容/匹配,则会出现此问题。
所以,我刚刚为xx.Droid和PCL更新了Xamarin.Forms,并使匹配与NuGet包的依赖关系。
现在工作正常。希望这对你有用。
删除旧包/[your project root]/packages/Xamarin.Forms.[old version number]
。
我从所有项目中删除了所有Xamarin引用,删除了所有Xamarin包。在PROJ文件中删除了所有提到的Xamarin,并重新添加了Xamarin的所有nuget包。 (在此失去了几天):)
如果错误地你有任何语法错误,就像我的情况一样,这种问题也可能出现:ListView中存在两个文本单元格 -
<ListView x:Name="ProductsView">
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding ProductId}" />
<TextCell Text="{Binding ProductDescription}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我查看了此问题的其他帖子,发现由于语法错误的存在而发生了同样的问题,VS没有直接报告。所以寻找这个,否则,重新安装兼容版本的xamarin.forms
- >清洁解决方案 - >通过重新打开VS重建。
将Xamarin.Forms更新到android和iOS项目的最新版本并重新打开该项目为我工作。
我在Xamarin.Mac
中遇到Visual Studio for Mac
这个错误。我unloded
Xamarin.Mac
项目。然后从solution
删除它。最后从解决方案文件夹中删除xamarin.Mac
文件夹。来自解决方案文件夹的来自deleted
的packages
文件夹。从nuget packages
项目中删除所有xamarin forms
。现在我再次将nuget packages
添加到xamarin表单项目中。将Xamarin.Mac
项目添加到解决方案中并制作必要的modifications
。这导致了成功的build
。虽然我的问题是xamarin.mac
这个过程可能也解决了其他projects
的问题。
当我们在Xamarin.Forms中添加ContentPage页面时。在该页面中,我们在同一页面中添加了多个ContentPage.Content。然后我们也得到这种类型的错误。