Я должен извлечь подпись PDB из файла .pdb и .dll .
Это код, который я использую для извлечения его из файла .pdb. К сожалению, я не нашел похожего способа извлечь его из DLL.
public static string GetPdbSignature(string pdbFilePath)
{
using (var pdbFileStream = File.OpenRead(pdbFilePath))
{
var metadataProvider = MetadataReaderProvider.FromPortablePdbStream(pdbFileStream);
var metadataReader = metadataProvider.GetMetadataReader();
var id = new BlobContentId(metadataReader.DebugMetadataHeader.Id);
return $"{id.Guid.ToString("N")}ffffff";
}
}
Я обнаружил, что для выполнения извлечения можно использовать пакет nuget P eNet, но пока Я бы предпочел добиться этого без установки внешних зависимостей.
Кроме того, мне удалось найти нужные данные с помощью dotPeek ( screen ), но, поскольку мне нужно решить проблему программно, это не решает и мою проблему
Буду признателен за любую подсказку, как решить эту проблему. Либо с помощью некоторого встроенного механизма do tnet, либо с помощью какого-то умного низкоуровневого извлечения байтов.