Adventures with Power Platform: How to Use the API to Remove a Dependency

In a recent solution I had modified the command bar for one of my forms, which creates a Component Library.

I ended up not needing the modifications, and deleted the Component Library, only to find out there was still a dependency lurking about.

Figure 1 – Dependencies

I tried everything to figure out what it was and how to remove it, it was keeping me from upgrading the solution in another environment. 😤

I found this article Quick Fix – Can’t Delete That Command Bar Component Library? – Implementing Tae of <T> (taerimhan.com), which shed a little light on how to do it.💡

I didn’t want to purchase LinqPad as the article mentioned, instead I was going to dust off Postman and see what I could do with the Dataverse API.

I followed the instructions at Set up a Postman environment (Microsoft Dataverse for Apps) – Power Apps | Microsoft Learn to setup my Postman environment.

The first request I ran was a GET with https://MY_ENVIRONMENT_NAME.api.crm.dynamics.com/api/data/v9.2/appelements.

Figure 2 – Get a list of appelements

From the appelements returned I was able to find the appelementid of the dependency that I could not get rid of.

The next request I ran was GET with https://MY_ENVIRONMENT_NAME.api.crm.dynamics.com/api/data/v9.2/appelements(APP_ELEMENT_ID).

Figure 3 – Get appelement

I wanted to make sure I had the correct appelement.

The last request I made was a DELETE with https://MY_ENVIRONMENT_NAME.api.crm.dynamics.com/api/data/v9.2/appelements(APP_ELEMENT_ID).

The request ran successfully, but when I looked at my solution, the dependency was still there.

As the article I linked to earlier suggested, I did a Publish all customizations, and checked one more time.

The dependency was gone!🎉

Figure 4 – No more dependency

I was able to export my solution and import it into another environment with no issues.


Discover more from Matt Ruma

Subscribe to get the latest posts sent to your email.

Leave a Reply

Your email address will not be published. Required fields are marked *