← All PL 400 Flashcard Decks

Plugin Development Flashcards

7 cards from real PL 400 practice questions. Tap to flip, then mark Knew It or Still Learning — missed cards come back until you master them.

Read the first 7 Plugin Development flashcards as text
  1. Which NuGet package provides the core assemblies needed to build a Dataverse plugin?

    Answer: Microsoft.CrmSdk.CoreAssemblies

    Microsoft.CrmSdk.CoreAssemblies contains Microsoft.Xrm.Sdk.dll and related assemblies required for plugin development.

  2. What is the maximum allowed execution time for a synchronous plugin before Dataverse terminates it?

    Answer: 2 minutes

    Synchronous plugins must complete within 2 minutes; exceeding this limit causes Dataverse to throw a timeout exception.

  3. In plugin development, what is the role of the PluginBase class pattern promoted by the Power Platform plugin template?

    Answer: It provides helper methods for tracing, service resolution, and context extraction

    PluginBase (or LocalPluginContext) encapsulates boilerplate service resolution and tracing setup, leaving subclasses to implement only business logic.

  4. A plugin needs to access a secure configuration value (e.g., an API key). Where should this value be stored?

    Answer: In the Secure Configuration field of the plugin step

    The Secure Configuration field is encrypted and only accessible to plugin code at runtime, making it the appropriate place for secrets.

  5. What is the primary difference between Pre-Operation and Post-Operation pipeline stages for a plugin?

    Answer: Pre-Operation fires before the database write; Post-Operation fires after the write but within the same transaction

    Pre-Operation runs after core platform validation but before the data is persisted, while Post-Operation runs after the write — both inside the transaction.

  6. When deploying a plugin assembly using the Plugin Registration Tool, which signing requirement must the assembly meet?

    Answer: The assembly must be strong-named

    Dataverse requires plugin assemblies to be strong-named (signed with a key pair) before they can be registered.

  7. Which execution context property tells a plugin whether it was triggered by another plugin or workflow rather than a direct user action?

    Answer: context.Depth

    context.Depth increments each time a plugin triggers another plugin, so a value greater than 1 indicates the plugin was invoked indirectly.