Files
SabreTools.Models/PortableExecutable/AssemblyManifest.cs

719 lines
18 KiB
C#
Raw Permalink Normal View History

2023-09-04 00:11:04 -04:00
using System.Xml.Serialization;
2023-09-04 00:12:49 -04:00
namespace SabreTools.Models.PortableExecutable
2023-09-04 00:11:04 -04:00
{
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
[XmlRoot(ElementName = "assembly", Namespace = "urn:schemas-microsoft-com:asm.v1")]
public sealed class AssemblyManifest
{
[XmlAttribute("manifestVersion")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string ManifestVersion { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? ManifestVersion { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
#region Group
[XmlElement("assemblyIdentity")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public AssemblyIdentity[] AssemblyIdentities { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public AssemblyIdentity?[]? AssemblyIdentities { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlElement("noInheritable")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public AssemblyNoInheritable[] NoInheritables { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public AssemblyNoInheritable?[]? NoInheritables { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
#endregion
#region Group
[XmlElement("description")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public AssemblyDescription Description { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public AssemblyDescription? Description { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlElement("noInherit")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public AssemblyNoInherit NoInherit { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public AssemblyNoInherit? NoInherit { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
//[XmlElement("noInheritable")]
2023-09-10 21:24:10 -04:00
//public AssemblyNoInheritable NoInheritable { get; set; }
2023-09-04 00:11:04 -04:00
[XmlElement("comInterfaceExternalProxyStub")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public AssemblyCOMInterfaceExternalProxyStub[] COMInterfaceExternalProxyStub { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public AssemblyCOMInterfaceExternalProxyStub?[]? COMInterfaceExternalProxyStub { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlElement("dependency")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public AssemblyDependency[] Dependency { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public AssemblyDependency?[]? Dependency { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlElement("file")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public AssemblyFile[] File { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public AssemblyFile?[]? File { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlElement("clrClass")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public AssemblyCommonLanguageRuntimeClass[] CLRClass { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public AssemblyCommonLanguageRuntimeClass?[]? CLRClass { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlElement("clrSurrogate")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public AssemblyCommonLanguageSurrogateClass[] CLRSurrogate { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public AssemblyCommonLanguageSurrogateClass?[]? CLRSurrogate { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
#endregion
[XmlAnyElement]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public object[] EverythingElse { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public object[]? EverythingElse { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyActiveCodePage
{
[XmlText]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Value { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Value { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyAutoElevate
{
[XmlText]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Value { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Value { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyBindingRedirect
{
[XmlAttribute("oldVersion")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string OldVersion { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? OldVersion { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("newVersion")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string NewVersion { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? NewVersion { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyCOMClass
{
[XmlAttribute("clsid")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string CLSID { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? CLSID { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("threadingModel")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string ThreadingModel { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? ThreadingModel { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("progid")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string ProgID { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? ProgID { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("tlbid")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string TLBID { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? TLBID { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("description")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Description { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Description { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlElement("progid")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public AssemblyProgID[] ProgIDs { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public AssemblyProgID?[]? ProgIDs { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyCOMInterfaceExternalProxyStub
{
[XmlAttribute("iid")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string IID { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? IID { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("name")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Name { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Name { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("tlbid")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string TLBID { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? TLBID { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("numMethods")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string NumMethods { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? NumMethods { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("proxyStubClsid32")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string ProxyStubClsid32 { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? ProxyStubClsid32 { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("baseInterface")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string BaseInterface { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? BaseInterface { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyCOMInterfaceProxyStub
{
[XmlAttribute("iid")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string IID { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? IID { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("name")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Name { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Name { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("tlbid")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string TLBID { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? TLBID { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("numMethods")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string NumMethods { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? NumMethods { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("proxyStubClsid32")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string ProxyStubClsid32 { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? ProxyStubClsid32 { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("baseInterface")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string BaseInterface { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? BaseInterface { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyCommonLanguageRuntimeClass
{
[XmlAttribute("name")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Name { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Name { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("clsid")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string CLSID { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? CLSID { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("progid")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string ProgID { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? ProgID { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("tlbid")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string TLBID { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? TLBID { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("description")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Description { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Description { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("runtimeVersion")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string RuntimeVersion { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? RuntimeVersion { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("threadingModel")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string ThreadingModel { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? ThreadingModel { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlElement("progid")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public AssemblyProgID[] ProgIDs { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public AssemblyProgID?[]? ProgIDs { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyCommonLanguageSurrogateClass
{
[XmlAttribute("clsid")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string CLSID { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? CLSID { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("name")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Name { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Name { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("runtimeVersion")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string RuntimeVersion { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? RuntimeVersion { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyDependency
{
[XmlElement("dependentAssembly")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public AssemblyDependentAssembly DependentAssembly { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public AssemblyDependentAssembly? DependentAssembly { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("optional")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Optional { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Optional { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyDependentAssembly
{
[XmlElement("assemblyIdentity")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public AssemblyIdentity AssemblyIdentity { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public AssemblyIdentity? AssemblyIdentity { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlElement("bindingRedirect")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public AssemblyBindingRedirect[] BindingRedirect { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public AssemblyBindingRedirect?[]? BindingRedirect { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyDescription
{
[XmlText]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Value { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Value { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyDisableTheming
{
[XmlText]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Value { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Value { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyDisableWindowFiltering
{
[XmlText]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Value { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Value { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyDPIAware
{
[XmlText]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Value { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Value { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyDPIAwareness
{
[XmlText]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Value { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Value { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyFile
{
[XmlAttribute("name")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Name { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Name { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("hash")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Hash { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Hash { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("hashalg")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string HashAlgorithm { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? HashAlgorithm { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("size")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Size { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Size { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
#region Group
[XmlElement("comClass")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public AssemblyCOMClass[] COMClass { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public AssemblyCOMClass?[]? COMClass { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlElement("comInterfaceProxyStub")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public AssemblyCOMInterfaceProxyStub[] COMInterfaceProxyStub { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public AssemblyCOMInterfaceProxyStub?[]? COMInterfaceProxyStub { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlElement("typelib")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public AssemblyTypeLib[] Typelib { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public AssemblyTypeLib?[]? Typelib { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlElement("windowClass")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public AssemblyWindowClass[] WindowClass { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public AssemblyWindowClass?[]? WindowClass { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
#endregion
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyGDIScaling
{
[XmlText]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Value { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Value { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyHeapType
{
[XmlText]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Value { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Value { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyHighResolutionScrollingAware
{
[XmlText]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Value { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Value { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyIdentity
{
[XmlAttribute("name")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Name { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Name { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("version")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Version { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Version { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("type")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Type { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Type { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("processorArchitecture")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string ProcessorArchitecture { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? ProcessorArchitecture { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("publicKeyToken")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string PublicKeyToken { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? PublicKeyToken { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlAttribute("language")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Language { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Language { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyLongPathAware
{
[XmlText]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Value { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Value { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyNoInherit
{
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyNoInheritable
{
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyPrinterDriverIsolation
{
[XmlText]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Value { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Value { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyProgID
{
[XmlText]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Value { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Value { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblySupportedOS
{
[XmlAttribute("Id")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Id { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Id { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyTypeLib
{
[XmlElement("tlbid")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string TLBID { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? TLBID { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlElement("version")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Version { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Version { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlElement("helpdir")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string HelpDir { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? HelpDir { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlElement("resourceid")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string ResourceID { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? ResourceID { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlElement("flags")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Flags { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Flags { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyUltraHighResolutionScrollingAware
{
[XmlText]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Value { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Value { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
/// <see href="https://learn.microsoft.com/en-us/windows/win32/sbscs/manifest-file-schema"/>
public sealed class AssemblyWindowClass
{
[XmlAttribute("versioned")]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Versioned { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Versioned { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
[XmlText]
2023-09-04 21:14:41 -04:00
#if NET48
2023-09-10 21:24:10 -04:00
public string Value { get; set; }
2023-09-04 21:14:41 -04:00
#else
2023-09-10 21:24:10 -04:00
public string? Value { get; set; }
2023-09-04 21:14:41 -04:00
#endif
2023-09-04 00:11:04 -04:00
}
// TODO: Left off at <ElementType name="progid" />
}