Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
Artikulu hau YAML-en oinarritutako iturburu-kontrol formatua erreferentzia da:
- Konpromisoa hartu irtenbideak Dataverse Git integrazioa erabiliz Power Apps.
- Atera irtenbideak erabiliz
pac solution cloneedopac solution sync. - Eskuz exekutatu SolutionPackager YAML manifestu-fitxategiak dituen karpeta batean.
YAML formatua XML diseinu klasikotik bereizten da. Egitura ulertzea garrantzitsua da YAML karpeta bat eskuz paketatu nahi duzunean Dataverse-k inportatu dezakeen fitxategi batean .zip .
Garrantzitsua
YAML iturburu-kontrol formatuaren euskarria pac CLI-n Microsoft behar da. PowerApps.CLI 2.4.1 bertsioa edo berriagoa da. Deskargatu azken bertsioa NuGet edo eguneratu pac install latest bidez. SolutionPackager.exe, NuGet paketearekin batera hornitzen dena, bertsio bereko YAML formatua onartzen du.
Karpeta-egituraren ikuspegi orokorra
YAML formatuko biltegiaren erroak goi-mailako direktorio hauek ditu:
<repositoryRoot>/
├── solutions/
│ └── <SolutionUniqueName>/ (one subfolder per solution)
│ ├── solution.yml
│ ├── solutioncomponents.yml
│ ├── rootcomponents.yml
│ └── missingdependencies.yml
├── publishers/
│ └── <PublisherUniqueName>/ (one subfolder per publisher)
│ └── publisher.yml
├── entities/ (entity components, if any)
│ └── <entity_schema_name>/
│ ├── attributes/
│ ├── formxml/
│ ├── savedqueries/
│ └── ...
├── workflows/ (classic workflow definitions, if any)
├── modernflows/ (Power Automate cloud flows, if any)
├── canvasapps/ (canvas app .msapp files, if any)
│ └── <canvas_app_schema_name>/
│ └── <name>.msapp
├── environmentvariabledefinitions/ (environment variable definitions, if any)
├── connectors/ (custom connectors, if any)
└── [other component folders]/
Direktorioak solutions/ eta publishers/ direktorioak beharrezkoak dira. Erroan dauden osagaien karpeta guztiak aukerakoak dira eta irtenbideak daukanaren araberakoak dira.
Garrantzitsua
YAML manifestu-fitxategi guztiak (solution.yml, publisher.yml, eta abar) dagozkien azpidirektorioetan kokatu behar dira (solutions/<name>/, ). publishers/<name>/ Biltegiaren erroan jartzeak formatua detektatzea eragozten du eta SolutionPackager tresna XML formatura itzultzea eragiten du, falta den Customizations.xmlerrore engainagarria sortuz. Informazio gehiago: SolutionPackager tresnaren arazoak konpontzea
Formatuaren detekzio automatikoa
SolutionPackager-ek (eta pac solution pack) formatuak automatikoki detektatzen ditu honela:
| Baldintza | Detektatutako formatua | Portaera |
|---|---|---|
solutions/*/solution.yml Aurkitu - Irtenbide bat |
YAML | Azpikarpetaren izenetik ondorioztatutako soluzioaren izena |
solutions/*/solution.yml Aurkitu - Hainbat irtenbide |
YAML |
/SolutionName Zein irtenbide paketatu behar den zehazteko beharrezkoa den argumentua |
Ez azpidirektoriorik solutions/ |
XML (ondarea) | Espero du Other\Solution.xml eta Other\Customizations.xml |
Manifestu fitxategiak
solution.yml
Bertan kokatua solutions/<SolutionUniqueName>/solution.yml. Goi-mailako soluzioaren metadatuak ditu, XML formatuan YAML baliokidea solution.xml .
Gako-eremuak soluzioaren izen esklusiboa, bertsioa, izen lagunkoia, deskribapena eta argitaratzailearen erreferentzia dira.
solutioncomponents.yml
Bertan kokatua solutions/<SolutionUniqueName>/solutioncomponents.yml. Irtenbide honetan sartutako osagai-fitxategi guztien bide-izen erlatiboak zerrendatzen ditu. SolutionPackager-ek fitxategi hau irakurtzen du paketatzean zehar osagaien iturburuak aurkitzeko.
Adibide pasartea:
- Path: entities/account
- Path: entities/contact
- Path: canvasapps/myapp_<guid>
- Path: publishers/MyPublisher
rootcomponents.yml
Bertan kokatua solutions/<SolutionUniqueName>/rootcomponents.yml. Irtenbide honi dagozkion erro-mailako osagaiak (normalean taulak eta goi-mailako beste objektu batzuk) zerrendatzen ditu.
Oharra
Osagai bat in deklaratzen rootcomponents.yml bada, baina bere iturburu-fitxategiak karpetan ez badaude (adibidez, oihaleko aplikazio-fitxategi .msapp bat azpian canvasapps/<name>/), SolutionPackager-ek abisu bat igorriko du eta osagai hori paketatutako .zip. Paketearen eragiketa ongi osatzen da 0 irteera kodearekin.
Paketearen arrakastak ez du inportazioaren arrakasta bermatzen. Beharrezko mendekotasun-bideak alde batera uzten baditu, hala nola entitate gurasoen karpetak edo harremanen definizioak solutioncomponents.yml , irtenbideak akatsik gabe paketatzen du, baina huts egiten du inportazioan: entityrelationships/ Ziurtatu beti mendekotasun solutioncomponents.yml entitate eta harreman guztiak barne hartzen dituela, ez soilik irtenbidearen jabetzakoak.
missingdependencies.yml
Bertan kokatua solutions/<SolutionUniqueName>/missingdependencies.yml. Irtenbidea azken aldiz esportatu zenean ez zeuden irtenbideen mendekotasunak erregistratzen ditu. Informazio-helburuetarako eta inportazioaren osotasuna baliozkotzeko.
publisher.yml
Bertan kokatua publishers/<PublisherUniqueName>/publisher.yml. Argitaratzailearen definizioa dauka: izen esklusiboa, bistaratze-izena, pertsonalizazio-aurrizkia eta aukera-balioaren aurrizkia.
Gutxieneko egitura:
Publisher:
UniqueName: mypublisher
LocalizedNames:
LocalizedName:
'@description': My Publisher
'@languagecode': '1033'
Descriptions:
EMailAddress:
'@xsi:nil': 'true'
'@xmlns:xsi': http://www.w3.org/2001/XMLSchema-instance
SupportingWebsiteUrl:
'@xsi:nil': 'true'
'@xmlns:xsi': http://www.w3.org/2001/XMLSchema-instance
CustomizationPrefix: myp
CustomizationOptionValuePrefix: '12345'
Addresses:
Osagai moten euskarria
Ondorengo taulan osagai mota bakoitza YAML formatuan nola kudeatzen den agertzen da.
| Osagai mota | YAML formatuan | Oharrak |
|---|---|---|
| Entitateak (taulak), atributuak, inprimakiak, ikuspegiak | ✓ YAML fitxategiak | Azpiosagai bakoitzeko YAML fitxategi indibidual gisa gordetzen dira |
| Lan-fluxuak (klasikoa) | ✓ YAML fitxategiak | azpian workflows/ |
| Fluxu modernoak (Power Automate hodeiko fluxuak) | ✓ — YAML formatua soilik | azpian; ez modernflows/da XML formatuan onartzen |
| Mihise-aplikazioak | ✓ — YAML formatua soilik |
.msapp bitarra hemen canvasapps/<name>/; ez da onartzen XML formatuan |
| Ingurune-aldagaien definizioak | ✓ XML fitxategiak | Banakako fitxategiak .xml azpian environmentvariabledefinitions/ |
| Ingurune-aldagaien balioak | ✓ JSON fitxategia | Honela gordetzen da environment_variable_values.json |
| Konektore pertsonalizatuak | ✓ | azpian connectors/ |
| Pluginen muntaia | ✓ | Lehenespenez birmapatutako mota guztien izenak (/remapPluginTypeNames) |
| Web-baliabideak | ✓ | azpian webresources/ |
| Segurtasun-funtzioak | ✓ | XML gisa gordetzen da barnean; Irtenbide bakoitzeko iragazgaia |
| Aukera multzoak (orokorra) | ✓ | XML gisa gordetzen da; Irtenbide bakoitzeko iragazgaia |
| Panelak | ✓ | XML gisa gordetzen da; Irtenbide bakoitzeko iragazgaia |
| Guneen mapak | ✓ | XML gisa gordetzen da; Irtenbide bakoitzeko iragazgaia |
| Zintaren pertsonalizazioak | ✓ | XML gisa gordetzen da; Irtenbide bakoitzeko iragazgaia |
| Entitate-erlazioak | ✓ | azpian entityrelationships/ |
Oharra
XML gisa barnean gordetako osagaiak automatikoki bihurtzen dira XML eta YAML-en artean paketatze eta despaketatzeko eragiketetan. YAML fitxategi gisa sor ditzakezu; Tresnak bihurketa kudeatzen du.
Soluzio anitzeko biltegiak
Biltegi bakar batek hainbat irtenbide izan ditzake. Irtenbide guztiek osagai karpeta berdinak partekatzen dituzte; solutioncomponents.yml Soluzio bakoitzean soluzio horri dagozkion osagaien bideak kontrolatzen ditu.
Egitura adibidea, bi soluziorekin:
<repositoryRoot>/
├── solutions/
│ ├── SolutionA/
│ │ ├── solution.yml
│ │ ├── solutioncomponents.yml ← references entities/account, entities/contact
│ │ ├── rootcomponents.yml
│ │ └── missingdependencies.yml
│ └── SolutionB/
│ ├── solution.yml
│ ├── solutioncomponents.yml ← references entities/lead, workflows/myflow
│ ├── rootcomponents.yml
│ └── missingdependencies.yml
├── publishers/
│ └── SharedPublisher/
│ └── publisher.yml
├── entities/
│ ├── account/
│ ├── contact/
│ └── lead/
└── workflows/
└── myflow/
Soluzio zehatz bat soluzio anitzeko karpeta batetik paketatzea
Erabiliz SolutionPackager.exe:
SolutionPackager.exe /action:Pack /zipfile:SolutionA.zip /folder:C:\repos\myrepo /SolutionName:SolutionA
Erabilera pac solution pack (soluzio bakarreko karpetak soilik - irtenbide anitzeko karpetetarako, erabili zuzenean SolutionPackager.exe honekin):/SolutionName
pac solution pack --zipfile SolutionA.zip --folder C:\repos\myrepo
Oharra
Dataverse Git jatorrizko integrazioa ingurunearen loturarekin erabiltzen denean, inguruneko soluzio guztiek biltegiaren erro bakarra partekatzen dute soluzio anitzeko diseinua erabiliz. Irtenbideen lotura erabiltzean, soluzio bakoitza karpeta bereizi batera lotu daiteke.
YAML formatuko karpetekin lan egitea
Patsatu YAML karpeta .zip fitxategi batean
# Using pac CLI (single solution in folder)
pac solution pack --zipfile C:\output\MySolution.zip --folder C:\repos\myrepo
# Using SolutionPackager.exe directly (also works for multi-solution with /SolutionName)
SolutionPackager.exe /action:Pack /zipfile:C:\output\MySolution.zip /folder:C:\repos\myrepo
Eskuratu YAML karpeta osoa Dataverse-tik
YAML karpeta osoa eta paketagarria lortzeko modu gomendagarria hau da pac solution clone:
pac solution clone --name MySolutionUniqueName --outputDirectory C:\repos\myrepo
Honek irtenbidea YAML formatuan erauzten du, osagaien iturburu-fitxategi guztiak barne. Bestela, erabili jatorrizko Git integrazioa Power Apps-etik konpromisoa hartzeko - konprometitutako fitxategiak YAML formatuan daude eta guztiz paketagarriak dira.
Egiaztatu karpeta paketatu aurretik
Egiaztatu karpeta solutions/<name>/ existitzen dela eta bide-izen solutioncomponents.yml guztiak benetako fitxategietara ebazten direla. Falta diren bide-bide guztiek abisuak eragiten dituzte paketatzean zehar eta osagai horiek alde batera uzten dira.
Dataverse Git integrazioarekin erlazioa
YAML iturburu-kontrolaren formatua Dataverse Git integrazioak erabiltzen duen formatu kanonikoa da. Sortzaileek Power Apps-eko irtenbideak konprometitzen dituztenean, Azure DevOps-en idatzitako fitxategiek formatu hau erabiltzen dute. Code-first garatzaileek biltegi berarekin lan egin dezakete hemen deskribatutako CLI tresnak erabiliz.
Inguruneak Git-ekin konektatzeari buruzko informazioa lortzeko, ikus Dataverse Git integrazioaren konfigurazioa.