Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Tämä artikkeli on viittaus YAML-pohjaiseen lähdeohjausmuotoon, jota käytetään, kun:
- Lähetä ratkaisuja käyttämällä Power Apps alkuperäistä Dataverse Git -integrointia.
- Poimi ratkaisuja käyttämällä
pac solution clonetaipac solution sync. - Suorita SolutionPackager manuaalisesti kansioon, joka sisältää YAML-kokoonpanotiedostoja.
YAML-muoto eroaa perinteisestä XML-asettelusta. Rakenteen ymmärtäminen on tärkeää, kun haluat pakata YAML-kansion manuaalisesti takaisin tiedostoon .zip , jonka Dataverse voi tuoda.
Tärkeää
YAML-lähteen hallinnan muototuki pac -komentorivikäyttöliittymä edellyttää Microsoft. PowerApps.CLI-versio 2.4.1 tai uudempi. Lataa uusin versio kohteesta NuGet tai päivitä pac install latest kautta. SolutionPackager.exe, joka toimitetaan NuGet-paketin kanssa, tukee YAML-muotoa samasta versiosta.
Kansiorakenteen yleiskatsaus
YAML-format-säilön pääkansio sisältää seuraavat ylimmän tason hakemistot:
<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]/
- ja publishers/ -solutions/hakemistot ovat pakollisia. Kaikki juuressa olevat komponenttikansiot ovat valinnaisia, ja ne riippuvat siitä, mitä ratkaisu sisältää.
Tärkeää
Kaikki YAML-luettelotiedostot (solution.yml, publisher.yml, ja niin edelleen) on sijoitettava vastaaviin alahakemistoihin (solutions/<name>/, publishers/<name>/). Niiden sijoittaminen säilön pääkansioon estää muotoilun tunnistamisen ja aiheuttaa Sen, että SolutionPackager-työkalu palaa XML-muotoon – tuottaen harhaanjohtavan virheen puuttuvasta -tiedostosta Customizations.xml. Lisätietoja: SolutionPackager-työkalun vianmääritys
Automaattisen tunnistuksen muotoileminen
SolutionPackager (ja pac solution pack) tunnista muoto automaattisesti seuraavasti:
| Ehto | Havaittu muoto | Toiminta |
|---|---|---|
solutions/*/solution.yml found – yksi ratkaisu |
YAML | Ratkaisun nimi päätelty alikansion nimestä |
solutions/*/solution.yml löydetään – useita ratkaisuja |
YAML |
/SolutionName argumentti tarvitaan sen määrittämiseen, mikä ratkaisu pakataan |
Ei solutions/ alihakemistoa käytettävissä |
XML (vanha) |
Other\Solution.xml Odottaa jaOther\Customizations.xml |
Kokoonpanotiedostot
solution.yml
Sijaitsee osoitteessa solutions/<SolutionUniqueName>/solution.yml. Sisältää ylimmän tason ratkaisun metatiedot – YAML-vastaavuus solution.xml XML-muodossa.
Avainkenttiä ovat ratkaisun yksilöivä nimi, versio, kutsumanimi, kuvaus ja viittaus julkaisijaan.
solutioncomponents.yml
Sijaitsee osoitteessa solutions/<SolutionUniqueName>/solutioncomponents.yml. Näyttää luettelon kaikkien tähän ratkaisuun sisältyvien osatiedostojen suhteellisista poluista. SolutionPackager lukee tämän tiedoston paketin aikana ja paikantaa sen komponenttilähteet.
Esimerkkikatkelma:
- Path: entities/account
- Path: entities/contact
- Path: canvasapps/myapp_<guid>
- Path: publishers/MyPublisher
rootcomponents.yml
Sijaitsee osoitteessa solutions/<SolutionUniqueName>/rootcomponents.yml. Näyttää luettelon päätason osista (yleensä taulukoista ja muista ylimmän tason objekteista), jotka kuuluvat tähän ratkaisuun.
Muistio
Jos osa on määritetty kohteessa, mutta sen lähdetiedostot eivät ole kansiossa (esimerkiksi pohjaan perustuvassa sovellustiedostossa rootcomponents.yml.msapp kohdassa canvasapps/<name>/), SolutionPackager lähettää varoituksen ja jättää tämän osan pois pakatusta .zipkohteesta . Pakkaustoiminto suoritetaan edelleen, kun koodista 0 poistutaan.
Paketin onnistuminen ei takaa tuonnin onnistumista. Jos solutioncomponents.yml jättää pois pakolliset riippuvuuspolut – kuten pääentiteetin kansiot tai suhdemääritykset kohdassa entityrelationships/ – ratkaisupaketit pakataan ilman virheitä, mutta ne sisältävät tuonnissa virheilmoituksen, joka sisältää seuraavankaltaisen viestin: "Määritteistä puuttuvat liittyvät suhdemääritykset". Varmista aina, että sisältää solutioncomponents.yml kaikki riippuvaiset entiteetit ja yhteydet, ei vain ratkaisun omistamia.
missingdependencies.yml
Sijaitsee osoitteessa solutions/<SolutionUniqueName>/missingdependencies.yml. Kirjaa ratkaisun riippuvuudet, joita ei ollut ratkaisun viemisen aikana. Käytetään tietotarkoituksiin ja täydentävuuden vahvistamiseen tuonnin yhteydessä.
publisher.yml
Sijaitsee osoitteessa publishers/<PublisherUniqueName>/publisher.yml. Sisältää julkaisijan määrityksen: yksilöivän nimen, näyttönimen, mukautuksen etuliitteen ja asetuksen arvon etuliitteen.
Vaadittu rakenne on mahdollisimman pieni:
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:
Osatyypin tuki
Seuraavassa taulukossa on lueteltu, miten kutakin komponenttityyppiä käsitellään YAML-muodossa.
| Osatyyppi | YAML-muodossa | Huomautuksia |
|---|---|---|
| Entiteetit (taulukot), määritteet, lomakkeet, näkymät | - YAML-tiedostot | Tallennettu yksittäisinä YAML-tiedostoina aliyksilöitä kohden |
| Työnkulut (perinteinen) | - YAML-tiedostot | Alle workflows/ |
| Nykyaikaiset työnkulut (Power Automate pilvityönkulut) | — vain YAML-muoto | Kohdassa modernflows/; ei tueta XML-muodossa |
| Canvas-sovellukset | — vain YAML-muoto |
.msapp binaariarvo alle canvasapps/<name>/; ei tueta XML-muodossa |
| Ympäristömuuttujan määritykset | ääritintiedostot ( XML- tiedostot) | Yksittäiset .xml tiedostot -kohdassa environmentvariabledefinitions/ |
| Ympäristömuuttujan arvot | ääritä JSON-tiedosto | Tallennetaan nimellä environment_variable_values.json |
| Mukautetut liittimet | ✓ | Alle connectors/ |
| Laajennuksen kokoonpanot | ✓ | Täydelliset tyyppinimet, jotka on oletusarvoisesti laajennettu uudelleen (/remapPluginTypeNames) |
| Verkkoresurssit | ✓ | Alle webresources/ |
| Turvallisuusroolit | ✓ | Tallennetaan XML:nä sisäisesti; suodatettu ratkaisua kohti |
| Asetusjoukot (yleinen) | ✓ | Tallennetaan XML-muodossa. suodatettu ratkaisua kohti |
| Koontinäytöt | ✓ | Tallennetaan XML-muodossa. suodatettu ratkaisua kohti |
| Sivustokartat | ✓ | Tallennetaan XML-muodossa. suodatettu ratkaisua kohti |
| Valintanauhan mukautukset | ✓ | Tallennetaan XML-muodossa. suodatettu ratkaisua kohti |
| Entiteettisuhteet | ✓ | Alle entityrelationships/ |
Muistio
Sisäisesti XML-muodossa tallennetut komponentit muunnetaan automaattisesti XML:n ja YAML:n välillä pakkaus- ja purkutoimintojen aikana. Voit luoda ne YAML-tiedostoina. työkalu käsittelee muunnoksen.
Usean ratkaisun säilöt
Yksittäinen säilön pääkansio voi sisältää useita ratkaisuja. Kaikilla ratkaisuilla on samat komponenttikansiot. solutioncomponents.yml ohjaa, mitkä komponenttipolut kuuluvat tähän ratkaisuun.
Esimerkkirakenne ja kaksi ratkaisua:
<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/
Tietyn ratkaisun pakkaaminen moniratkaisukansiosta
SolutionPackager.exekäyttäminen:
SolutionPackager.exe /action:Pack /zipfile:SolutionA.zip /folder:C:\repos\myrepo /SolutionName:SolutionA
Using pac solution pack (vain yhden ratkaisun kansiot – usean ratkaisun kanssa, käytä SolutionPackager.exe suoraan kohteen kanssa /SolutionName):
pac solution pack --zipfile SolutionA.zip --folder C:\repos\myrepo
Muistio
Kun käytät Alkuperäistä Dataverse Git -integrointia ympäristön sidonnan kanssa, kaikki ympäristön ratkaisut jakavat yhden säilön pääkansion moniratkaisuasettelun avulla. Kun käytät ratkaisun sidontaa, jokainen ratkaisu voidaan sitoa erilliseen kansioon.
YAML-muotokansioiden käyttäminen
YAML-kansion pakkaaminen .zip tiedostoon
# 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
Täydellisen YAML-kansion hankkiminen Dataversesta
Suositeltu tapa hankkia täydellinen, pakattava YAML-kansio on käyttää pac solution clone:a:
pac solution clone --name MySolutionUniqueName --outputDirectory C:\repos\myrepo
Tämä purkaa ratkaisun YAML-muotoon, joka sisältää kaikki osalähdetiedostot. Vaihtoehtoisesti voit käyttää alkuperäistä Git-integrointia vahvistukseen Power Apps – vahvistetut tiedostot ovat YAML-muodossa ja täysin pakattavissa.
Tarkista kansio ennen pakkaamista
Tarkista, että solutions/<name>/ kansio on olemassa ja että kaikki polut ratkaistaan solutioncomponents.yml todellisiin tiedostoihin. Puuttuvat polut aiheuttavat varoituksia paketin aikana, ja kyseiset osat jätetään pois.
Suhde Dataverse Git -integrointiin
YAML-lähteen ohjausobjektin muoto on kanoninen muoto, jota Dataverse Git -integrointi käyttää. Kun tekijät tekevät ratkaisuja Power Apps, Azure DevOps kirjoitetut tiedostot käyttävät tätä muotoa. Koodi ensin -kehittäjät voivat käsitellä samaa säilöä tässä kuvattujen komentorivikäyttöliittymätyökalujen avulla.
Lisätietoja ympäristöjen yhdistämisestä Gitiin on kohdassa Dataverse Gatin integroinnin määritys.