Huomautus
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ä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-parametreihinpassword
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