升级Visual Studio后编译错误

本文关键字:编译 错误 Studio Visual 升级 | 更新日期: 2023-09-27 18:09:33

我的程序在VS2013中编译得很好。升级到VS2015企业版后,当我试图编译程序时,它显示:

Severity    Code    Description Project File    Line
Error       Fody: An unhandled exception occurred:
Exception:
Unknown custom metadata item kind: 6
StackTrace:
   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, Int32& age, Guid& guid)
   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 InnerWeaver.ReadModule() in c:'TeamCity'buildAgent'work'7495521761d392b9'FodyIsolated'ModuleReader.cs:line 14
   at InnerWeaver.Execute() in c:'TeamCity'buildAgent'work'7495521761d392b9'FodyIsolated'InnerWeaver.cs:line 28
Source:
Mono.Cecil.Pdb
TargetSite:
Void ReadCustomMetadata(Microsoft.Cci.Pdb.BitAccess)    ChampionsGG     

我以前从未使用过fody,也从未听说过它,所以我不确定为什么它会使用这个。检查包文件后发现有2个包,Fody和Costura。福迪,但我不记得放了。我删除了这两行并重新编译,但错误仍然发生。

有人知道为什么会这样吗?

升级Visual Studio后编译错误

我从使用旧版本Fody(1.26)的VS 2012升级到使用最新版本Fody(1.29.4)的VS 2015后遇到了同样的问题。

所以我完全卸载了Fody,但后来我从我的旧Fody得到了一个构建错误,它应该不再存在。

我查看了csproj文件,看到关于我的旧Fody的2行被留下了。我把它们注释掉,然后重新安装了最新的Fody,然后一切又恢复正常了。

似乎是Fody的一个已知问题。你似乎在使用TeamCity来构建你的解决方案。我不是TeamCity专家,但例外来自Mono Cecil使用的MS pdb解析器,TeamCity使用它来做……的事情。

看看这一期的Fody:https://github.com/Fody/Fody/issues/187

要么等待TeamCity更新Fody,要么自己更新,要么删除触发TeamCity活动的自定义MSBuild任务。