Update: this is not only an Azure Pipelines issue. It also happens when we import our unmanaged solution (with the PCF control) manually through make.powerapps.com
We are building Power apps and we are also authoring our own PCF components. We use the Azure Pipelines Power Platform Build Tools to deploy our model-driven Power Apps - and in general it works fine.
However - when we want to use it for our PCF components we are stuck.
What we experience is this:
We would really like to see this fixed - or a work-around provided. It is not optimal to have a manual process in our - otherwise - fully automated ALM process around our Power Apps.
We see these as options:
We are more than willing to provide any technical details to help with this.
Thank you 🙂
You're welcome, Jesper! Happy I could help! 🙂
Wow ... I cannot believe that we missed that one!
Thank you, @DianaBirkelbach ... I cannot emphasize how much I appreciate your help!
/Jesper
Hi @Anonymous ,
Thank you for the detailed informations. I've tried to reporduce your issue, and I think I've found the problem.
You import the solution unmanaged, so you need to publish in order to see the changes.
Using the old customizing you get reminded that you need to publish, the new one doesn't ask.
After a "publish" you see PCF version changed in the solution layer.
Hope this helps!
We use the Azure pipeline to build/package the component. The pipeline step is simply this:
- task: MSBuild@1
displayName: 'Build solution PumPowerGanttSolution'
inputs:
solution: PumPowerGanttSolution
msbuildArguments: '/t:build /restore /p:configuration=Release'
This creates a ZIP file with an unmanaged solution spec and our PCF component inside. We import this to our target environment.
About the solution layers:
I go to "Solutions" and click on the "PumPowerGanttSolution"
I click on the ellipsis of the custom control and select "See solution layers"
Here I only see one item
Prior to manual import the versions are these
Solution: 2.3.83
PCF: 4.5.39
I am uploading a new solution with these versions: (picked from solution.xml and controlmanifest.xml in the ZIP file to import)
Solution: 2.3.84
PCF: 4.5.40
<?xml version="1.0" encoding="utf-8"?>
<ImportExportXml version="9.1.0.643" SolutionPackageVersion="9.1" generatedBy="CrmLive">
<SolutionManifest>
<UniqueName>PumPowerGanttSolution</UniqueName>
<Descriptions />
<Version>2.3.84</Version>
<!-- Solution Package Type: Unmanaged(0)/Managed(1)/Both(2)-->
<Managed>0</Managed>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<manifest>
<control namespace="Projectum" constructor="PowerGantt" version="4.5.40" display-name-key="PowerGantt" description-key="PowerGantt description" control-type="standard" api-version="1.2.3">
The process (in UI) looks like this:
After import I see this:
But when I go to the PCF and look at the solution layers, I see this:
Hi @Anonymous ,
When you talk about unmanaged solution as a wrapper containing only the PCF: is it a solution generated using an msbuild (originally created with "pac solution init")? Or is it a solution created in your environment, where you add the component after having it uploaded with "pac pcf push"?
When you have a look in the target environment using the solution layers, do you see 2 versions of the PCF?
What is the version of the PCF in the target env, and what is the version of the PCF you try to import? You can check them using the solution layers.
Thank you for your reply.
Thank you for your link - it was very interesting 🙂
An update:
When my pipeline builds the solution, an unmanaged solution (zip) file is created. When I investigate the result of the build, I can see my changes in the bundle.js file of the control. However when I export the solution (manually or via Azure Pipeline) afterwards from the target environment I can find no trace of the change I made.
To your questions:
Does the PCF get updated when you import the solution manually (not by using pipelines).
No. It does not get updated when I import the unmanaged solution manually. So this is likely not an Azure Pipeline Build Tool issue. Still - super annoying ...
Did you made changes in the PCF parameters? Do you transport the form too?
I have not made changes to any parameters. In my test I am just modifying a piece of text in the PCF component. When the component is built it transpiles (consolidates) the (TypeScript) source code of the control into a "bundle.js"-file. So that particular files is likely the only thing that is changed - apart from the control version number and solution version number.
Do you update only the patch of the PCF version, or maybe you change the major/minor?
I update the PATCH number only - for both the solution and the control
Hi @Anonymous ,
I have a blog about PCF versioning: https://dianabirkelbach.wordpress.com/2020/12/23/all-about-pcf-versioning/
It seems that you do everything right, but maybe you find some hints in the solution layering.
Does the PCF get updated when you import the solution manually (not by using pipelines).
Did you made changes in the PCF parameters? Do you transport the form too?
Do you update only the patch of the PCF version, or maybe you change the major/minor?
Hope this helps!
@Anonymous ,
You probably are doing but I just want to double-check. You are running MSBuild before pushing PCF to the environment right?
Yes ... we update both the version of the "wrapper solution" (solution.xml) as well as the version number in ControlManifest.xml .
I believe that we are doing everything "by the book" - but it doesn't work.
@Anonymous ,
Are you updating version number in manifest file?
Everytime you do a change to PCF component you need to update the version number in manifest file.
Hope this helps 🙂
WarrenBelz
87
Most Valuable Professional
mmbr1606
71
Super User 2025 Season 1
Michael E. Gernaey
65
Super User 2025 Season 1