Итак, я думал, что прибил это со следующим кодом:
using (var peReader = new PEReader(stream = File.OpenRead(args[0])))
{
bool found = peReader
.ReadDebugDirectory()
.Any(e => e.Type == DebugDirectoryEntryType.EmbeddedPortablePdb);
stdout.WriteLine(found);
}
Нет. Я создал новый. Net Базовый проект с Portable PDB. Метод ReadDebugDirectory
возвращает две записи типов:
CodeView
Reproducible
Итак, проверка должна быть более сложной, но я в растерянности, что именно должно быть сделано.
Кстати, JetBrains dotPeek действительно показывает, что сборка имеет переносной PDB:
К сожалению, их логика c недоступна в виде пакета NuGet ...
Итак, как можно это сделать надежно?
PS
Идеальным решением был бы сценарий powershell (не pw sh), но код C# тоже подойдет.