"XamlCTask"任务在Visual Studio for xamarin上意外失败

Nir*_*hah 30 error-handling visual-studio xamarin xamarin.forms

当我试图在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      
Run Code Online (Sandbox Code Playgroud)

在添加这个"Xamarin.Forms.Maps"NuGet包之前,我的应用程序正在运行但是我已经添加了这个突然应用程序停止运行并出现错误.

有人可以帮我解决导致这类问题的原因吗?

Nir*_*hah 50

如果您的Xamarin.Form版本与您安装的NuGet软件包不兼容/匹配,则会出现此问题.

所以,我刚刚为xx.Droid和PCL更新了Xamarin.Forms,并使匹配与NuGet包的依赖关系.

现在工作正常.希望这对你有用.

  • 我还想补充一点,确保所有项目中的所有`Xamarin.Forms`包都是最新的,关闭并重新打开`Visual Studio`通常会有帮助 (3认同)
  • 此外,如果存在丢失文件或找不到文件的构建错误,请尝试“清理解决方案”。 (2认同)

fuz*_*uzz 19

删除旧包裹/[your project root]/packages/Xamarin.Forms.[old version number].


小智 7

如果您错误地遇到任何语法错误(例如在我的情况下),也会出现此类问题:ListView中存在两个文本单元格-

<ListView x:Name="ProductsView">
    <ListView.ItemTemplate>
        <DataTemplate>
            <TextCell Text="{Binding ProductId}" />
            <TextCell Text="{Binding ProductDescription}" />
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>
Run Code Online (Sandbox Code Playgroud)

我浏览了该问题的其他文章,发现由于存在语法错误而发生了相同的问题,而VS不会直接报告该错误。因此,请寻找它,否则,请重新安装xamarin.formsVS 的兼容版本->干净解决方案->重建。