private void UpdateMetaDataDirectories()
{
_directory.MetadataDirectory.VirtualAddress =
(uint)_directory.Assembly.FileOffsetToRva(Metadata.StartOffset);
_directory.MetadataDirectory.Size = Metadata.GetPhysicalLength();
if (_directory.StrongNameData != null)
{
_directory.StrongNameSignatureDirectory.VirtualAddress =
(uint) _directory.Assembly.FileOffsetToRva(_directory.StrongNameData.StartOffset);
_directory.StrongNameSignatureDirectory.Size = _directory.StrongNameData.GetPhysicalLength();
}
if (NetResourceDirectoryBuilder.Segments.Count > 0)
{
_directory.ResourcesDirectory.VirtualAddress =
(uint)_directory.Assembly.FileOffsetToRva(NetResourceDirectoryBuilder.StartOffset);
_directory.ResourcesDirectory.Size = NetResourceDirectoryBuilder.GetPhysicalLength();
}
}