Before creating any pipelines, you need two marketplace extensions and a NuGet feed containing the X++ compiler packages. This article gets those in place.
Your Azure DevOps organization needs two extensions from the Visual Studio Marketplace.
You’ll need Organization Administrator permissions to install them.
Provides: PowerPlatformToolInstaller@2, PowerPlatformDeployPackage@2, pac CLI
Provides: XppUpdateModelVersion@0, XppCreatePackage@2
You can verify both are installed at:
Organization settings > Extensions
The build pipeline downloads ~2 GB of X++ compiler packages from a NuGet feed.
Azure Artifacts hosts these within your ADO organization. I suggest you see this related article on ways to automate this here. You can use the linked stategy to get everything uploaded once you have a feed based on a commit and it will generate the packages.config to upload into out repo with code.
https://{org}.pkgs.visualstudio.com/{project}/_packaging/{feed}/nuget/v3/index.json
You need 6 packages from the LCS Shared Asset Library (or download from a build VM):
| Package ID | What It Contains |
|---|---|
| Microsoft.Dynamics.AX.Application.DevALM.BuildXpp | Application metadata for compilation |
| Microsoft.Dynamics.AX.Application1.DevALM.BuildXpp | Application layer 1 |
| Microsoft.Dynamics.AX.Application2.DevALM.BuildXpp | Application layer 2 |
| Microsoft.Dynamics.AX.ApplicationSuite.DevALM.BuildXpp | Application Suite metadata |
| Microsoft.Dynamics.AX.Platform.CompilerPackage | X++ compiler + build tools |
| Microsoft.Dynamics.AX.Platform.DevALM.BuildXpp | Platform metadata for compilation |
From LCS:
From a Cloud-Hosted Build VM:
From Visual Studio:
If you have VS 2022 or newer and the latest version of Finance and Operations tools installed, you may have an option to download them directly via API. I’ll update this section later when this is generally available.
# Install the Azure Artifacts Credential Provider if needed # Then push each package: nuget push Microsoft.Dynamics.AX.Application.DevALM.BuildXpp.10.0.2428.99.nupkg -Source "D365" -ApiKey az nuget push Microsoft.Dynamics.AX.Platform.CompilerPackage.7.0.7778.47.nupkg -Source "D365" -ApiKey az # ... repeat for all 6 packages
The -ApiKey az works with the Azure Artifacts credential provider for authentication.
Update src/xpp/build/nuget.config to point at your feed:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="D365" value="https://{org}.pkgs.visualstudio.com/{project}/_packaging/{feed}/nuget/v3/index.json" />
</packageSources>
</configuration>
Update src/xpp/build/packages.config to match the versions you uploaded:
Original Post https://www.atomicax.com/content/4-extension-and-nuget-feeds