2015-08-22 4 views
1

Моя программа, используемая для компиляции только штрафа в VS2013. После обновления до VS2015 Enterprise Edition, когда я пытаюсь скомпилировать программу, она говорит:Ошибка компиляции Fody после обновления Visual Studio

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

Кажется, это известная проблема с Fody. Кажется, вы используете TeamCity для создания своего решения. Я не эксперт TeamCity, но исключение происходит из парсера MS pdb, который используется Mono Cecil, который используется TeamCity для ... вещей.

Заканчивать этот вопрос Fody: https://github.com/Fody/Fody/issues/187

Либо ждать TeamCity обновить Fody или обновить его самостоятельно или удалить пользовательскую задачу MSBuild, которая вызывает активность Teamcity.

+0

Дело в том, что я даже не слышал о TeamCity. Эта папка даже не существует на моем компьютере o_O Мой VS2015 чист, но я установил Resharper, вот почему? –

+0

TeamCity - продукт Jetbrains, который также производит Resharper. Вы установили набор инструментов JetBrains, который, возможно, также установил TeamCity? Вы должны проверить неустановленные пользовательские задачи msbuild и удалить их, как указано в отчете об ошибке github. Это должно сделать трюк –

0

У меня была такая же проблема после обновления с VS 2012 со старой версией Fody (1.26) до VS 2015 с последней версией Fody (1.29.4).

Итак, я полностью удалил Fody, но затем у меня возникла ошибка сборки от моего старого Fody, которого больше не было.

Я просмотрел файл csproj и увидел, что остались 2 строки о моем старом Фоди. Я прокомментировал их, а затем снова установил последнюю версию Fody, а затем все снова работало.

+0

, почему голос проголосовали, очевидно, это проблема стабильности версии, которая является исправлением в более поздних версиях, мне нужно было напомнить обновить fody, спасибо – mkb

Смежные вопросы