Jaa


Luo aikaisin sidottuja entiteettiluokkia koodin luontityökalulla

Tärkeää

Jos käytät Dataversea, käytä Power Platform CLI pac modelbuilder build -komentoa. CrmSvcUtil.exe toimii edelleen Dataversen kanssa, mutta suosittelemme komennon pac modelbuilder build käyttöä parannetun käyttökokemuksen ja lisättävien uusien ominaisuuksien vuoksi. Lue lisätietoja aikaisin sidottujen luokkien luomisesta SDK for .NET:lle Dataversen avulla.

Koska Power Platform CLI ei ole käytettävissä Dynamics 365 Customer Engagement (on-premises):ssä, sinun on käytettävä CrmSvcUtil.exe.

CrmSvcUtil.exe on komentorivikoodin luontityökalu, jota käytetään Dynamics 365 for Customer Engagement:n kanssa. Tämä työkalu luo aikaisin sidottuja .NET Framework -luokkia, jotka edustavat Dynamics 365 Customer Engagement (on-premises):n käyttämää entiteettitietomallia.

Koodin luontityökalu (CrmSvcUtil.exe) jaetaan osana Microsoft.CrmSdk.CoreTools NuGet -pakettia. Lisätietoja koodinluontityökalun lataamisesta (CrmSvcUtil.exe) on kohdassa Dataverse-kehitystyökalut.

Luo entiteettiluokkia

CrmSvcUtil-työkalu luo Microsoft Visual C#- tai Visual Basic .NET -tulostiedoston, joka sisältää vahvasti tyypitetyt luokat ympäristön taulukoille. Tämä sisältää mukautetut taulukot ja sarakkeet. Tämä tulostiedosto sisältää yhden luokan, joka on johdettu Entity kullekin taulukolle, mikä tarjoaa varhaisen sidonnan ja IntelliSense-tuen Visual Studiossa, joka auttaa sinua koodin kirjoittamisessa. Luodut luokat ovat osittaisia luokkia, joita voidaan laajentaa mukautetulla liiketoimintalogiikalla erillisissä tiedostoissa. Voit myös kirjoittaa laajennuksia tälle työkalulle mukauttaaksesi sen toimintoja. Lisätietoja on kohdassa Laajennusten luominen koodinluontityökalulle.

Luo OrganizationServiceContext-luokka

Työkalulla voidaan myös luoda luokasta johdettu OrganizationServiceContext luokka, joka toimii EDM:n entiteettisäilönä. Tämä palvelukonteksti tarjoaa toiminnot muutosten seurantaan ja käyttäjätietojen, samanaikaisuuden ja suhteiden hallintaan. Tämä luokka näyttää SaveChanges() myös menetelmän, joka kirjoittaa, lisää, päivittää ja poistaa taulukon rivejä Dynamics 365 Customer Engagement (on-premises):ssä. Lisätietoja on kohdassa OrganizationServiceContextin käyttäminen.

Käytä luotuja luokkia

Koodinluontityökalun luomat luokat on suunniteltu sisällytettäviksi luokkakirjastoon, johon Dynamics 365 Customer Engagement (on-premises) -järjestelmää käyttävät projektit voivat viitata. Kun olet luonut luokkatiedostot työkalulla, sinun tulee lisätä tiedosto(t) Visual Studio -projektiisi. Sinun on myös lisättävä viittauksia useisiin kokoonpanoihin, joista luodut luokat ovat riippuvaisia.

Seuraavassa on lueteltu kokoonpanot, joihin on viitattava projektissa, kun käytät luotua kooditiedostoa.

  • Microsoft.Crm.Sdk.Proxy.dll
  • Microsoft.Xrm.Sdk.dll

Nämä kokoonpanot ovat osa Microsoft.CrmSdk.CoreAssemblies - tai Microsoft.PowerPlatform.Dataverse.Client NuGet -pakettia. Käytä jotakin näistä NuGet-paketeista lisätäksesi tarvittavat kokoonpanot Visual Studio -projektiisi.

Koodin luontityökalun suorittaminen

Koodinluontityökalu käyttää useita parametreja, jotka määrittävät luotavan tiedoston sisällön. Parametrit voidaan välittää komentoriviltä, kun suoritat työkalun, tai . NET-yhteydellä varustetun sovelluksen määritystiedosto.

Suorita CrmSvcUtil.exe sovellus kansiosta, johon se on asennettu. Jos suoritat työkalun toisesta kansiosijainnista, varmista, että kokoonpanon Microsoft.Xrm.Sdk.dll kopio on samassa kansiossa.

Seuraavassa esimerkissä on muoto, jolla työkalu suoritetaan komentoriviltä Dynamics 365 Customer Engagement (on-premises) -ohjelmassa. Jos haluat käyttää vuorovaikutteiseen ympäristöön kirjautumista, voit yksinkertaisesti antaa seuraavat vaihtoehdot:

CrmSvcUtil.exe /interactivelogin ^
/out:<outputFilename>.cs ^
/namespace:<outputNamespace> ^
/serviceContextName:<serviceContextName> ^
/generateActions

Kun suoritat työkalun interactivelogin (pikakuvake) il-vaihtoehdolla, avaat valintaikkunan ja voit määrittää kirjautumistietosi ja palvelimen, johon haluat muodostaa yhteyden.

Voit myös määrittää parametrit, jotka haluat välittää suoraan komentorivillä tai erätiedoston (.bat) kautta, jonka voit suorittaa luodaksesi uusia luokkia.

CrmSvcUtil.exe ^
/url:https://<organizationUrlName>.api.crm.dynamics.com/XRMServices/2011/Organization.svc ^
/out:<outputFilename>.cs ^
/username:<username> ^
/password:<password> ^
/namespace:<outputNamespace> ^
/serviceContextName:<serviceContextName>

Esimerkkejä:

CrmSvcUtil.exe ^
/url:https://myorganization.api.crm.dynamics.com/XRMServices/2011/Organization.svc ^
/out:MyOrganizationSdkTypes.cs ^
/username:you@yourOrg.onmicrosoft.com ^
/password:myp455w0rd ^
/namespace:MyOrg ^
/serviceContextName:MyContext

Huomautus

Esimerkeissä käytetään karaattimerkkiä (^) luettavuuden parametriluettelon jakamiseen. Voit kirjoittaa komentoparametrit argumenteilla muistion avulla ja liittää ne sitten komentoriville.

  • username Kirjoita ja-parametreihin password käyttäjänimi ja salasana, joita käytetään Dynamics 365 Customer Engagement (on-premises) -ympäristöön kirjautumiseen.
  • Voit url etsiä parametrille oikean URL-osoitteen Power Appsissa tai vanhassa verkkosovelluksessa valitsemalla Asetukset, siirtymällä kohtaan Mukautukset ja valitsemalla sitten Kehittäjäresurssit. URL-osoite näkyy Organisaation palvelu -kohdassa.

Vaatimuksiin perustuva tunnistautuminen

Seuraavissa esimerkeissä näytetään, miten koodinluontityökalua käytetään väitteisiin perustuvan todennuksen kanssa. Huomaa, että käyttäjätunnus ja salasana ovat valinnaisia parametreja. Jos Dynamics 365 Customer Engagement (on-premises) -kohdepalvelimen tunnistetiedot on tallennettu Windowsin tunnistetietovarastoon, sinun ei tarvitse antaa niitä koodin luontityökalun suorittamista varten.

Active Directory

Seuraavassa esimerkissä näytetään, miten koodin luontityökalu suoritetaan käyttämällä väitteiden todentamista Active Directoryssa. Huomaa https:n käyttö, koska tämä esimerkkipalvelin käyttää TLS (Transport Layer Security) tai SSL (Secure Sockets Layer).

CrmSvcUtil.exe ^
/url:https://myport:555/MyOrg/XRMServices/2011/Organization.svc ^
/out:GeneratedCode.cs ^
/username:administrator ^
/password:myp455w0rd

Internet-suuntainen käyttöönotto (IFD)

Seuraavassa esimerkissä näytetään, miten koodinluontityökalu suoritetaan käyttämällä väitteiden todennusta IFD:n avulla.

CrmSvcUtil.exe ^
/url:https://myorg.crm.com:555/XRMServices/2011/Organization.svc ^
/out:GeneratedCode.cs ^
/username:administrator ^
/password:myp455w0rd

Parametrit

Voit tarkastella uusimpia tuettuja komentoriviparametreja seuraavalla komennolla.

CrmSvcUtil.exe /?  

Seuraavassa taulukossa on lueteltu koodinluontityökalun parametrit tämän ohjeaiheen viimeisimmän päivityksen aikaan ja lyhyt kuvaus komentoparametrien käytöstä.

Parametri Pikalinkki Kuvaus
url Organisaatio-palvelun URL-osoite. Pakollinen, ellet käytä interactivelogin
out o Luodun koodin tiedostonimi. Pakollinen
language l Kieli, jolla koodi luodaan. Tämä voi olla joko "CS" tai "VB". Oletusarvo on "CS".
namespace n Luodun koodin nimitila. Oletusarvo on globaali nimitila.
username u Käyttäjänimi, jota käytetään, kun muodostat yhteyden palvelimeen todennusta varten.
password p Salasana, jota käytetään, kun muodostat yhteyden palvelimeen todennusta varten.
domain d Toimialue, johon todennetaan, kun muodostat yhteyden paikalliseen palvelimeen.
servicecontextname Luodun kontekstiluokan nimi. Jos arvoa ei anneta, palvelukontekstia ei luoda.
help ? Näytä käyttötiedot.
nologo Piilota banneri suorituksen aikana.
generateActions Luo pyyntö- ja vastausluokkia mukautetuille toiminnoille.
interactivelogin il Kun sitä käytetään, näkyviin tulee valintaikkuna, jossa voit kirjautua Dynamics 365 Customer Engagement (on-premises) -palveluun. Kaikki muut komentorivillä määritetyt yhteyteen liittyvät parametrit ohitetaan.
connectionstring connstr Sisältää yksittäisenä merkkijonona tietoja yhteyden muodostamiseksi Dynamics 365 Customer Engagement (on-premises) -organisaatioon. Kaikki muut komentorivillä määritetyt yhteyteen liittyvät parametrit ohitetaan. Lisätietoja on artikkelissa Yhteysmerkkijonojen käyttäminen XRM-työkaluissa.
suppressGeneratedCodeAttribute sgca Estää GeneratedCodeAttributen kaikissa luokissa
emitfieldsclasses emitfc Luo entiteettikohtainen Fields-luokka, joka sisältää kaikki kenttien nimet koodin luontihetkellä
entitynamesfilter Suodattaa luettelon entiteeteistä, jotka noudetaan luettaessa tietoja Dynamics 365 Customer Engagement (on-premises) -sovelluksesta. Välitetään puolipisteillä eroteltuna luettelona käyttämällä muotoa <entitylogologyname>;<entitylogicalname>;...
messagenamesfilter Suodattaa luettelon viesteistä, jotka noudetaan, kun tietoja luetaan Dynamics 365 Customer Engagement (on-premises) -sovelluksesta. Välitetty puolipisteellä erotettuna luettelona. Pakolliset viestit (Create, Update, Delete, Retrieve, RetrieveMultiple, Associate ja DisAssociate) sisältyvät aina. * voidaan käyttää viestin jatkamiseen tai seuraamiseen, jolloin kaikki viestit alkavat tai päättyvät merkkijonoon. Luettelo on muotoa <messagename;><viestin nimi>;...
splitfiles Jakaa tulosteen tiedostoihin tyypin mukaan, järjestettynä entiteetin, viestin ja asetusjoukkojen mukaan. Kun ominaisuus on käytössä, out ominaisuus ohitetaan ja outdirectory se on sen sijaan pakollinen
outdirectory outdir Kirjoita entiteetti-, viesti- ja asetusjoukkotiedostot määritettyyn tulostushakemistoon. Voimassa vain splitfiles valinnalla
entitytypesfolder Kansion nimi, joka sisältää entiteettejä. Kansion oletusnimi on "Entiteetit". Voimassa vain splitfiles valinnalla.
messagestypesfolder Kansion nimi, joka sisältää viestejä. Oletusnimi on "Viestit". Voimassa vain splitfiles valinnalla
optionsetstypesfolder Sen kansion nimet, joka tulee sisältämään asetusjoukkoja. Oletusnimi on "OptionSets". Voimassa vain lisävarusteena splitfiles
generateGlobalOptionSets Lähetä kaikki globaalit lisäasetukset. Huomautus: jos entiteetti sisältää viittauksen yleiseen asetusjoukkoon, se lähetetään, vaikka tätä valitsinta ei olisikaan
legacyMode Poista käytöstä lähettävät asetusjoukot ja monet uudemmat koodiominaisuudet tukeaksesi yhteensopivuutta vanhempien mukautettujen laajennusten kanssa

Käytä määritystiedostoa

CrmSvcUtil.exe.config määritystiedoston on oltava samassa kansiossa kuin CrmSvcUtil.exe työkalu. Määritystiedosto käyttää osion vakioavain/arvo-pareja appSettings . Jos kuitenkin kirjoitat arvon komentoriville, sitä käytetään määritystiedoston arvon sijaan. Kaikki sovelluksen määritystiedostosta löytyvät avain/arvo-parit, jotka eivät vastaa mitään odotetuista parametreista, ohitetaan.

Älä sisällytä url ja namespace -parametreja kokoonpanotiedostoon. Nämä on syötettävä komentoriviltä, kun CrmSvcUtil.exe työkalua suoritetaan.

Seuraavassa esimerkissä näytetään, miten tulostiedosto ja toimialueen nimiparametrit määritetään sovelluksen määritystiedostossa pikanäppäimillä.

<appSettings>    
    <add key="o" value="CrmProxy.cs"/>    
    <add key="d" value="mydomain"/>
</appSettings>  

Ota jäljitys käyttöön

Jos haluat ottaa jäljityksen käyttöön, kun suoritat työkalun, lisää seuraavat rivit asetustiedostoon:

<system.diagnostics>   
   <trace autoflush="false" indentsize="4">   
      <listeners>   
         <add name="configConsoleListener" type="System.Diagnostics.ConsoleTraceListener">   
            <filter type="System.Diagnostics.EventTypeFilter" initializeData="Error" />   
         </add>   
      </listeners>   
   </trace>   
</system.diagnostics>  

Lisätietoja tuetuista jäljitysvaihtoehdoista on kohdassa XRM-työkalujen jäljityksen määrittäminen.

Yhteisön työkalut

Early Bound Generator on XrmToolbox-yhteisön työkalu. Katso lisää yhteisön kehittämiä työkaluja Kehittäjätyökalut ja -resurssit -aiheesta.

Huomautus

Yhteisötyökalut eivät ole Microsoftin tuotteita, eivätkä ne laajenna tukea yhteisön työkaluille. Jos sinulla on kysyttävää työkalusta, ota yhteyttä julkaisijaan. Lisätietoja: XrmToolBox.

Katso myös

Dynamics 365 Customer Engagement (on-premises) -kehittäjätyökalut
Luo laajennuksia koodinluontityökalulle
Myöhään ja aikaisin sidottu ohjelmointi