Reference

MSBuild properties

The buildTransitive targets file of the Kofa.Abstractions NuGet package produces the Komod package in every project in which KomodPart and KomodPackageId are set. The properties are usually in the Package.props file shared by the server and the UI project.

Property Required Meaning
KomodPackageId yes The package id (lowercase, separated by dots or hyphens).
KomodPackageVersion yes SemVer version; raise it for every release.
KomodDisplayName no Display name in the store and on the Komodok page.
KomodDescription no Short description.
Authors no Author (komod.json).
KomodPart yes (per project) server or client: which part of the package the project builds.
KomodClientAssemblies for a UI Quoted, comma-separated UI dll names in load order, e.g. "Acme.Ui.dll". A private dependency first.
KomodRuntimeIdentifiers no ;-separated RIDs whose native libraries the package contains (default: all).
KofaKomodStagingRoot no Where the unpacked packages go (default: ../artifacts/komods/).
KomodVersionSuffix no A prerelease suffix (preview.42), appended to the version.
KomodPack no -p:KomodPack=true: the build also makes a .komod file.
KomodPackageOutput no Where the .komod file goes (default: ../artifacts/packages/).
KofaSdkVersion no The Kofa.Abstractions / .Ui NuGet version (the template uses 1.*).

What goes into the package and what does not

Private dependencies (NuGet packages, project references) go next to the project's assembly. Left out is what the host already contains: Kofa.Abstractions*, Microsoft.Extensions.*, Microsoft.AspNetCore.*, Microsoft.JSInterop, Microsoft.FluentUI.*, Microsoft.NETCore.*, and the System.* assemblies of the shared framework. A System.* NuGet package that is not part of the shared framework (for example System.Numerics.Tensors) is included.

SDK reference

The template projects refer to the Kofa.Abstractions package (and in the UI Kofa.Abstractions.Ui) with ExcludeAssets="runtime": it is needed for compiling and does not go into the package.