ILMerge - pdb, связанный с dll, устарел - PullRequest
0 голосов
/ 11 ноября 2018

Попытка собрать исполняемый файл со всеми библиотеками внутри с помощью ILMerge:

"C:\Program Files (x86)\Microsoft\ILMerge\ILMerge.exe" MyScan.exe DirectShowLib.dll Google.Apis.Auth.dll Google.Apis.Auth.PlatformServices.dll Google.Apis.Core.dll Google.Apis.dll Google.Apis.PlatformServices.dll Google.Apis.Sheets.v4.dll log4net.dll Newtonsoft.Json.dll zxing.dll zxing.presentation.dll /out:MyScan2.exe

Получена ошибка, одна из dll устарела:

An exception occurred during merging:
ILMerge.Merge:  There were errors reported in Google.Apis.Auth's metadata.
        The pdb associated with c:\Projects\Myscan\MYScan\bin\Release\Google.Apis.Auth.dll is out of date.
   at ILMerging.ILMerge.Merge()
   at ILMerging.ILMerge.Main(String[] args)

Что это значит?Почему Google.Apis.Auth.dll pdb устарел и как это исправить?Я очистил и перестроил проект, но это не помогло.

UPD

Мне пришлось удалить все pdb, связанные с Google API.После этого я получил ошибку:

Unresolved assembly reference not allowed: System.Core.
   at System.Compiler.Ir2md.GetAssemblyRefIndex(AssemblyNode assembly)
   at System.Compiler.Ir2md.GetTypeRefIndex(TypeNode type)
   at System.Compiler.Ir2md.WriteTypeDefOrRefEncoded(BinaryWriter target, TypeNode type)
   at System.Compiler.Ir2md.WriteTypeSignature(BinaryWriter target, TypeNode type, Boolean instantiateGenericTypes)
   at System.Compiler.Ir2md.WriteTypeSignature(BinaryWriter target, TypeNode type, Boolean instantiateGenericTypes)
   at System.Compiler.Ir2md.GetBlobIndex(TypeNode type)
   at System.Compiler.Ir2md.GetTypeSpecIndex(TypeNode type)
   at System.Compiler.Ir2md.VisitReferencedType(TypeNode type)
   at System.Compiler.Ir2md.VisitMethod(Method method)
   at System.Compiler.Ir2md.VisitClass(Class Class)
   at System.Compiler.Ir2md.VisitModule(Module module)
   at System.Compiler.Ir2md.SetupMetadataWriter(String debugSymbolsLocation)
   at System.Compiler.Ir2md.WritePE(Module module, String debugSymbolsLocation, BinaryWriter writer)
   at System.Compiler.Writer.WritePE(String location, Boolean writeDebugSymbols, Module module, Boolean delaySign, String keyFileName, String keyName)
   at System.Compiler.Writer.WritePE(CompilerParameters compilerParameters, Module module)
   at ILMerging.ILMerge.Merge()
   at ILMerging.ILMerge.Main(String[] args)
...