Hi Community,
I have an ISV project with multiple models, let's call them A, B, C, (with B & C having dependencies on A).
All 3 models have been live with multiple customers for some time.
I would like to rename B and C for naming conventions / best practices.
If I rename B->Y and C -> Z on dev box, full recompile and sync, no problems.
Push changes to source control, update CI/CD pipeline, no problem.
When I deploy the new All in one Package to any environment where A, B, C were already deployed,
I get the following prompt in both LCS or DevOps, which makes sense, since B, C are no longer being deployed, replaced by Y, Z
The selected package is missing the following modules that are currently deployed on your environment. You must create an all-in-one deployable package that contains all your code customizations and ISV solutions. More information can be found at the following link: [https://go.microsoft.com/fwlink/?linkid=2118104](https://go.microsoft.com/fwlink/?linkid=2118104).
Missing module(s): [ B ], [ C ]
I'm happy to bypass this warning since this is the expected result:
- Previously A,B,C,
- After deployment A, Y, Z.
However, during package deployment, the AOS Service Update (Step 6) fails with an error explaining that duplicate artefacts exists in (B,Y) and (C,Z), since the packages contain the same objects.
System.Management.Automation.MethodInvocationException: Exception calling "CreateRuntimeProvider" with "1" argument(s): "Runtime metadata is invalid because the same metadata artifact has been defined in multiple assemblies.
First 10 conflicting names:
All duplicate objects in (B, Y) and (C, Z)
See metadata events for complete list."
Shouldn't be B,C deleted automatically during all-in-one deployment?
How can I delete B,C from live environments prior to deploying Y,Z
B,C are small models without data, so I've been considering deploying an all-in-one package with A only, then with A, Y, Z,
I would prefer to minimize number of deployments.
Any suggestions would be welcome!
Thanks
VS