我的程序用于在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.Fody,但我不记得把它放在那里。我删除了两行并重新编译但仍然出现错误。
有谁知道为什么会这样?
答案 0 :(得分:1)
从使用旧版Fody(1.26)的VS 2012升级到最新的Fody(1.29.4)的VS 2015后,我遇到了同样的问题。
所以我完全卸载了Fody,但后来我的老Fody出现了构建错误,而这个错误应该不再存在了。
我查看了csproj文件,看到关于我的旧Fody的2行被留下了。我把它们评论出来,然后重新安装了最新的Fody,然后一切都恢复了。
答案 1 :(得分:0)
似乎是Fody的一个已知问题。您似乎使用TeamCity来构建您的解决方案。我不是TeamCity专家,但异常来自一个MS pdb解析器,由Mono Cecil使用,TeamCity使用它来做...事情。
查看本期Fody: https://github.com/Fody/Fody/issues/187
等待TeamCity更新Fody或自行更新或删除触发TeamCity活动的自定义MSBuild任务。