See the question and my original answer on StackOverflow

First you must set the GenerateAssemblyInfo attribute to false in your project:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net6.0-windows10.0.19041.0</TargetFramework>
    <TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
    <RootNamespace>WinUIAppFx</RootNamespace>
    <ApplicationManifest>app.manifest</ApplicationManifest>
    <Platforms>x86;x64;arm64</Platforms>
    <RuntimeIdentifiers>win10-x86;win10-x64;win10-arm64</RuntimeIdentifiers>
    <PublishProfile>win10-$(Platform).pubxml</PublishProfile>
    <UseWinUI>true</UseWinUI>
    <EnablePreviewMsixTooling>true</EnablePreviewMsixTooling>
    ...  
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
    ...  
  
  </PropertyGroup>
  ...
</Project>

And then you can define the assembly attributes somewhere in a code file, like this with C#:

[assembly: AssemblyTitle("My Title")]
[assembly: AssemblyCompany("My Company")]
[assembly: AssemblyProduct("My Product")]
[assembly: AssemblyCopyright("Copyright (C) 2022 My Company. All rights reserved.")]
[assembly: AssemblyFileVersion("1.2.3.4")]
[assembly: AssemblyInformationalVersion("5.6.7.8")]

This is what you'll get (for the .NET .dll and the native host .exe):

enter image description here