MSBuild integration for Dataverse plugin assembly projects. Configures Visual Studio project type GUIDs for CRM plugin development, brings in Microsoft.CrmSdk.CoreAssemblies and Microsoft.PowerApps.MSBuild.Plugin, applies automatic Git-based versioning, and exposes metadata targets that allow Solution projects to discover and integrate plugin assemblies during build.
<PackageReference Include="TALXIS.DevKit.Build.Dataverse.Plugin" Version="0.0.0.1" PrivateAssets="All" />Or use the SDK approach:
<Project Sdk="TALXIS.DevKit.Build.Sdk/0.0.0.1">
<PropertyGroup>
<ProjectType>Plugin</ProjectType>
</PropertyGroup>
</Project>The package sets ProjectType to Plugin and configures ProjectTypeGuids for CRM plugin recognition in Visual Studio.
- TalxisBeforeBuild (runs before
BeforeBuild) -- executesGenerateVersionNumberfollowed byApplyPluginVersionNumberto setAssemblyVersion,FileVersion,Version, andPackageVersionfrom Git.
These targets are called by TALXIS.DevKit.Build.Dataverse.Solution when it discovers this project via ProjectReference:
- GetProjectType -- returns
Pluginso the Solution build knows how to handle this reference. - GetPluginAssemblyInfo -- returns
PluginRootPath,PluginAssemblyId,TargetFramework,PublishFolderName, andAssemblyNamefor automatic plugin assembly metadata generation in the solution.
| Property | Default | Description |
|---|---|---|
ProjectType |
Plugin |
Marks the project as a plugin for reference discovery. |
Version |
(required) | Base version; major/minor are used for Git versioning. |
ApplyToBranches |
(none) | Semicolon-separated branch rules (e.g. master;hotfix;develop:1;pr:3;feature/*:2). |
LocalBranchBuildVersionNumber |
0.0.0.1 |
Fallback version when Git versioning is not applied. |
PluginTargetFramework |
$(TargetFramework) or net462 |
Target framework used to locate the compiled plugin DLL. |
PluginPublishFolderName |
publish |
Publish folder name under bin\<Configuration>\<TFM>\. |
PluginAssemblyId |
(auto-generated) | Explicit GUID for the plugin assembly metadata; a new GUID is generated if empty. |
- Depends on:
TALXIS.DevKit.Build.Dataverse.Tasks,Microsoft.PowerApps.MSBuild.Plugin,Microsoft.CrmSdk.CoreAssemblies - Consumed by:
TALXIS.DevKit.Build.Dataverse.Solutionprojects viaProjectReference