Open sandboxFocusImprove this doc

LAMA0078: A project reference uses a version of Metalama that the IDE can't consume

Severity Warning
Reported by Metalama.Framework
Message The project reference '<AssemblyIdentity>' has been compiled with Metalama <ReferenceVersion>, which is older than <MinimumVersion>. The design-time (IDE) support of the current version cannot consume it, so aspects inherited from it will not appear in the editor. The build is not affected. Upgrade '<AssemblyIdentity>' to Metalama <MinimumVersion> or a later version to restore the design-time experience.

Cause

When a project contains compile-time code, such as aspects or fabrics, Metalama embeds this code in the compiled assembly, together with the version of Metalama that compiled it. When another project of the same solution references this assembly, Metalama compares this version with the version of Metalama that compiles the current project.

The compile-time pipeline can read the compile-time code produced by an older version, so the build works and applies the aspects of the referenced project. However, the design-time support, which runs in the IDE, also needs to communicate with the version that compiled the reference, and this isn't possible with versions older than Metalama 2026.1.

Metalama reports LAMA0078 when the reference comes from a ProjectReference and was compiled with a version of Metalama older than this minimum. In the message, <AssemblyIdentity> is the identity of the referenced assembly, <ReferenceVersion> is the version of Metalama that compiled it, and <MinimumVersion> is the minimum version that the IDE support can consume. In this situation, the aspects inherited from the referenced project don't appear in the editor.

LAMA0078 replaces the more general warning LAMA0081, which Metalama reports when the versions differ but the IDE can still consume the reference. Like LAMA0081, it isn't reported for NuGet packages or file references.

This diagnostic depends on the package versions used by several projects of a solution, so it can't be shown in an example.

Resolution

Use the same version of the Metalama packages in all projects of the solution:

  1. Find the referenced project given in the message.
  2. Update the Metalama.Framework package, and any other Metalama.* package, of this project to the version used by the current project, or at least to the version given in the message. To keep the versions aligned in the future, define them in a single place, for instance with central package management in a Directory.Packages.props file at the root of the repository.
  3. Rebuild the solution, so that the referenced project is compiled again with the new version.

If you can't upgrade the referenced project for now, the build still works. You can suppress the warning by adding LAMA0078 to the NoWarn property of the referencing project, but the aspects inherited from the reference still won't appear in the IDE.

See also