Table of Contents

New checks in Neos 3.2

The checks a cluster can newly fail on when it moves to Neos 3.2. See New checks by version for how to read this page and what it leaves out. The checks of the features new in 3.2 are on their own page.

Generation

Code Message Level Fix
M0078 The UI view property {0} of the UI view {1} cannot have both DataType and DotNetDataType set. Warning Keep only one of DataType and DotNetDataType.
M0079 The UI view property {0} of the UI view {1} uses DotNetDataType; DatagridVisible, Filterable, FilterVisible and FilterVisibleInPanel have no effect and must not be enabled. Warning Set these four properties to false.
M0080 The theme component attribute {0} of component {1} in theme {2} has IsCustom set to true, but its value "{3}" matches an existing palette token name; ... Warning Set IsCustom to false to use the token, or change the value.
M0081 The entity view {0} has a reference property "{1}" and a separate scalar property "{2}" that both map to the same association's foreign key column "{3}". ... Warning Keep either the reference property or the scalar foreign key property.
M0083 The entity view property "{0}" of entity view {1} has RelatedEntityViewName set, but its Type is "{2}" (neither Reference nor Collection). ... Warning Remove RelatedEntityViewName, or change Type to Reference or Collection.
M0084 Route collision detected: entity views '{0}' each expose a {1} route resolving to the same path '{2}'. ... — {0} lists the entity views, as in 'A' and 'B' Warning Rename the RootRoute, or declare a distinct explicit route on one of the entity views.
M0085 The table {0} is not referenced by any entity. Consider deleting it if it is no longer used. Warning Delete the unused data table, or map an entity to it.
M0086 The Title of UI view "{0}" is the plain string "{1}", which looks like a malformed resource reference. ... Warning Resolve the resource with a code expression, as the message shows.
M0090 {0} references {1}, which is Internal to module {2} and has not granted access to this module. Warning Grant access with InternalAccessGrantedTo, or make the type Public — see Generation message level configuration.
M0091 {0} references {1}, whose module {2} is not declared as a ModuleAssociation dependency of {3}. Warning Declare the missing ModuleAssociation — see Module dependencies.
— Entity view '{0}' declares an exposed route with an empty path. Error Give the route a path.
— Entity view '{0}' declares several exposed routes of type '{1}' with the same path '{2}'. Error Give each route a distinct path.
— Entity view '{0}' declares an exposed route '{1}' that contains a placeholder that does not match any key property, "{rootRoute}", "{fileName}", or "{$keys}". Error Fix the placeholder, or remove the custom route.
— Entity view '{0}': route '{1}' is on the technical route path but carries obsolescence or API-surface options (Obsolete, Display in API explorer, or Internal use only). ... Error Move these options to an additional route with a distinct path.
— Entity view '{0}': route '{1}' is on the technical route path, is not exposed (ExposedAsApi = false), and carries documentation. ... Error Expose the route, remove its documentation, or move it to an additional route with a distinct path.
— Server method '{0}' declares an exposed route with an empty path. Error Give the route a path.
— Server method '{0}' declares several exposed routes with HTTP method '{1}' and the same path '{2}'. Error Give each route a distinct path.
— Several server methods declare an exposed route with HTTP method '{0}' and the same path '{1}': {2}. Error Give the routes of these server methods distinct paths.
— Server method '{0}' binds parameter '{1}' from the route, but the route '{2}' does not contain the matching placeholder. Error Add the placeholder to the route, or bind the parameter from elsewhere.
— DataType is required when Type is Expression. Error Set DataType on the property of type Expression.
— The "{0}" icon is not declared. Add an Image metadata named "{0}" ... Error Declare an Image metadata with that name (with StandardImageName for a standard icon).
— AI embeddings model '{0}' for database does not support embeddings capability. Error Configure a model that supports embeddings.
— The property expression of '{0}' must be a simple member access such as 'x => x.MyProperty'. Error Use a simple member access lambda.
— {1} '{0}' is not supported. You should use an alternative. — now also on an object creation that used to be dropped silently Error Replace the construct with a supported one.

M0077 (The {0} property of the UI view {1} is declared as sortable (Sortable property), but it cannot be ...) also appears in 3.2. It is an Information message by default, so it only shows when a cluster or a pipeline raises it: set Sortable to false, or use a filterable and sortable scalar source.

UI templates

Code Message Level Fix
— The "{0}" value of the {1} on the "{2}" element is invalid because it seems that the property does not exist. with a @DatasourceCurrent.X or @Item.X value, in an attribute or in element content ({1} is then content) of a UI view template. Up to 3.1, only @Properties.X values were checked. Error Fix the property name, or add the property to the UI view or to the entity view of the context (for @Item.X, the entity view of the datagrid or list items).
M0058 The "{0}" value of the {1} on the "{2}" element uses the C# accessor form. In a template, reference a resource with @Resources.Module.Name instead. Warning Write @Resources.Module.Name.
M0058 The "{0}" value of the {1} on the "{2}" element references a resource that belongs to a module this template's module does not depend on. Warning Add the ModuleAssociation, or reference an element of a module already associated — see Module dependencies.
M0058 The "{0}" value of the "{1}" attribute on the "{2}" element references a {kind} that belongs to a module this template's module does not depend on. — {kind} is lookup, UI view or menu Warning Add the ModuleAssociation, or reference an element of a module already associated — see Module dependencies.
— The "{0}" value of the {1} on the "{2}" element references a resource that is Internal and not accessible from this template's module. Error Grant access with InternalAccessGrantedTo, or make the element Public — see Module accessibility.
— The "{0}" value of the "{1}" attribute on the "{2}" element references a {kind} that is Internal and not accessible from this template's module. — {kind} is lookup, UI view or menu Error Grant access with InternalAccessGrantedTo, or make the element Public — see Module accessibility.
M0058 The "{0}" value of the "{1}" attribute on the "{2}" element references an image that belongs to a module this template's module does not depend on. Warning Add the ModuleAssociation, or use an image of a module already associated.
— The "{0}" value of the "{1}" attribute on the "{2}" element references an image that is Internal and not accessible from this template's module. Error Grant access with InternalAccessGrantedTo, or make the image Public.
— The element "{0}" belongs to module "{1}", which is Internal and has not granted access to this module. Error Grant access to the UI component's module, or make the component Public.
M0058 The "{0}" value of the "{1}" attribute on the "{2}" element is invalid because it seems that the image does not exist. Warning Declare the Image metadata, or fix its name.
M0058 The "{0}" value of the "{1}" attribute on the "{2}" element is invalid because it seems that the menu does not exist. Warning Fix the menu name.
— The "{0}" element is unexpected, it will be ignored. — context, form-field or ui-view in a UI component template Error Remove the element, or move that markup into a UI view.
M0058 The "{0}" attribute on the "{1}" element will be ignored. — now for disabled and loading on a button of type action Warning Remove these attributes from the action button.
M0075 Directive(s) "{0}" on the "{1}" UI component ... (worded have no effect because... in 3.2, do not apply to a single element because... from 3.3) Warning Wrap the template content of the UI component in a single root element.
M0076 A virtual repeat inside a grid layout ignores the grid gap: its items are not spaced by the grid. Set virtual="false" or wrap the items in a layout with spacing. Warning Set virtual="false", or wrap the items in a layout with spacing.

Metadata check

Code Message Level Fix
N108 The element of type "{0}" with the key {1} in the module "{2}" cannot reference the Internal element of type "{3}" with the key {4} in the module "{5}" without an explicit InternalAccessGrantedTo grant. ... Error Grant access with InternalAccessGrantedTo, or make the element Public — see Module accessibility.
— {0} - Accessibility is set to 'Internal' but {1} does not support this property. Error Remove Accessibility: Internal from this element.

Analyzers

Code Message Level Fix
NEOS0001 '{0}' belongs to module '{1}', which is not associated with your module Warning Declare the missing ModuleAssociation — see Analyzers.
NEOS0002 '{0}' belongs to the {1} layer of module '{2}', which this project cannot reach Warning Use the symbol from a layer that can reach it.
NEOS0003 '{0}' belongs to module '{1}', which marks it Internal and has not granted your module access Warning Grant access with InternalAccessGrantedTo, or make the element Public.
NEOS0004 The return value of '{0}' must be used Warning Check the returned result, for example the result of SaveAsync.
NEOS0005 '{0}' uses the cluster's namespace shortcut, which is unstable if this module is reused elsewhere; use '{1}' instead Warning Use the resource class of the owning module, as the message says.