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.