Attributes
Attributes
Section titled “Attributes”XrmGhost.Attributes is the shared metadata package used to describe Dataverse plugin behavior with .NET attributes instead of handwritten registration or scenario scaffolding metadata.
These docs are for engineers who want to understand what the package is for, how to apply it to plugin classes, and where the current narrative guidance stops.
What the Package Does
Section titled “What the Package Does”- Declares plugin execution context on a class with repeatable .NET attributes
- Captures message, entity, image, parameter, configuration, and solution metadata in code
- Gives reflection-based tools a stable surface to inspect without parsing plugin logic
- Supplies the metadata used by other XrmGhost components such as the CLI scenario generator and the framework host
Who This Is For
Section titled “Who This Is For”- Plugin authors who want a declarative way to describe Dataverse execution context
- Teams using
xg generate-scenarioto seed scenario files from plugin metadata - Engineers building tooling or tests that read plugin attributes via reflection
Current Public Surface
Section titled “Current Public Surface”Today the package exposes class-level attributes for these jobs:
- Execution registration via
PluginExecutionConfigAttributeandHandlesMessageAttribute - Scenario seed data via
InputParameterAttribute,OutputParameterAttribute, andSharedVariableAttribute - Entity image metadata via
PreImageAttributeandPostImageAttribute - Configuration defaults via
SecureConfigurationAttributeandUnsecureConfigurationAttribute - Registration grouping via
SolutionComponentAttribute
The package itself is intentionally small: it defines attribute classes and lightweight constructor/property validation, then leaves richer behavior to consumers that read the metadata.
Read This Section In Order
Section titled “Read This Section In Order”| Section | Description |
|---|---|
| Getting Started | Learn the core concepts, see a concrete plugin example, and understand the current validation boundary. |
| Manual Attribute Reference | Browse one manual reference page per current public attribute while generated exports do not yet exist. |
Feedback
Section titled “Feedback”Found a documentation gap, unexpected behavior, or an idea for improving the attribute experience? Open it through Community.