A compiled plugin assembly can’t just be uploaded as-is — Dataverse requires it to be strong-name signed, and then registered using the Plugin Registration Tool before any step inside it can be wired to an event.
Strong-naming the assembly
In Visual Studio: Project Properties → Signing → check “Sign the assembly” → create a new strong name key file (a .snk file, optionally password-protected). This gives the compiled DLL a unique cryptographic identity, which Dataverse requires for any plugin assembly. Once created, keep the .snk file — recompiling with a different key changes the assembly’s identity and can complicate future updates.
Using the Plugin Registration Tool
- Connect the tool to your target environment.
- Register a new assembly — browse to the compiled, signed DLL.
- The tool reads the assembly and lists every
IPluginclass it finds. - For each plugin class, register a new step: choose the message (Create, Update, Delete…), the primary entity (table), the stage (Pre-validation/Pre-operation/Post-operation), and sync or async.
- Optionally, for Update messages, specify the exact filtering attributes — the step only fires if one of these specific columns actually changed.
- Add any required pre-images or post-images to this step.
Updating an already-registered plugin
After changing code, recompile and use the Plugin Registration Tool’s “Update” action on the existing assembly — this keeps the same registered steps and images intact rather than requiring you to delete and recreate every step from scratch.