private static void WriteAssemblyToXml()

in src/RefasmerExe/Program.cs [243:271]


    private static void WriteAssemblyToXml((string Path, string RelativeForOutput) input, XmlTextWriter xmlWriter)
    {
        using var _ = ReadAssembly(input.Path, out var metaReader);

        if (!metaReader.IsAssembly)
            return;

        var assembly = metaReader.GetAssemblyDefinition();

        xmlWriter.WriteStartElement("File");
        xmlWriter.WriteAttributeString("AssemblyName", metaReader.GetString(assembly.Name));
        xmlWriter.WriteAttributeString("Version", assembly.Version.ToString(4));

        var culture = metaReader.GetString(assembly.Culture);
        xmlWriter.WriteAttributeString("Culture", string.IsNullOrEmpty(culture) ? "neutral" : culture);


        var publicKey = metaReader.GetBlobBytes(assembly.PublicKey);
        var publicKeyToken = PublicKeyTokenCalculator.CalculatePublicKeyToken(publicKey);

        var publicKeyTokenStr =  BitConverter.ToString(publicKeyToken).Replace("-", string.Empty).ToLowerInvariant();

        xmlWriter.WriteAttributeString("PublicKeyToken", publicKeyTokenStr);

        xmlWriter.WriteAttributeString("InGac", "false");
        xmlWriter.WriteAttributeString("ProcessorArchitecture", "MSIL");

        xmlWriter.WriteEndElement();
    }