Creare le classi di entità con associazione anticipata con lo strumento di generazione del codice (CrmSvcUtil.exe)
Data di pubblicazione: gennaio 2017
Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
CrmSvcUtil.exe è uno strumento per la generazione di codice della riga di comando da utilizzare con Microsoft Dynamics 365 (online e locale). Questo strumento genera classi .NET Framework con associazione anticipata che rappresentano il modello dei dati di entità utilizzato da Microsoft Dynamics 365. Questo strumento è disponibile nel pacchetto SDK, nella cartella SDK\Bin. Scarica il pacchetto SDK di Microsoft Dynamics CRM.
In questo argomento
Informazioni sullo strumento di generazione del codice
Eseguire lo strumento di generazione del codice
Parametri
Esempio di utilizzo
Utilizzare il file di configurazione
Abilitare la traccia
Informazioni sullo strumento di generazione del codice
Lo strumento CrmSvcUtil.exe crea un file di output di Microsoft Visual C# o Microsoft Visual Basic .NET contenente le classi fortemente tipizzate per le entità nell'organizzazione. Questo include le entità e gli attributi personalizzati. Questo file di output contiene una classe per ogni entità che fornisce un'associazione anticipata e supporto IntelliSense in Microsoft Visual Studio per consentire all'utente di scrivere il codice personalizzato. Le classi generate sono classi parziali che possono essere estese con regole business personalizzate in file distinti. È inoltre possibile creare estensioni a questo strumento. Per ulteriori informazioni, vedere Creare le estensioni per lo strumento di generazione del codice.
Tale strumento può essere inoltre utilizzato per generare una classe derivata dalla classe OrganizationServiceContext che agisce come contenitore di entità nel modello di dati dell'entità. Questo contesto di servizio offre le funzionalità per la registrazione delle modifiche e la gestione delle identità, della concorrenza e delle relazioni. Questa classe espone inoltre un metodo SaveChanges che scrive, inserisce, aggiorna ed elimina i record in Microsoft Dynamics 365. Per ulteriori informazioni, vedere Utilizzare la classe OrganizationServiceContext.
Lo strumento di generazione del codice utilizza diversi parametri che determinano i contenuti del file creato. È possibile passare i parametri dalla riga di comando quando si esegue lo strumento o in un file di configurazione dell'applicazione connesso a .NET.
Le classi create dallo strumento di generazione del codice sono progettate per essere generate in una raccolta delle classi a cui i progetti che utilizzano Microsoft Dynamics 365 possono fare riferimento. Dopo aver generato il file di classe utilizzando lo strumento, è necessario aggiungere il file al progetto Visual Studio. È inoltre necessario aggiungere i riferimenti ad alcuni assembly da cui dipendono le classi generate.
Vengono di seguito elencati gli assembly a cui il progetto deve fare riferimento quando si utilizza il file di codice generato.
Microsoft.Crm.Sdk.Proxy.dll
Microsoft.Xrm.Sdk.dll
Questi assembly sono disponibili nella cartella SDK\Bin di SDK. Scarica il pacchetto SDK di Microsoft Dynamics CRM.
Eseguire lo strumento di generazione del codice
Eseguire lo strumento CrmSvcUtil.exe dalla cartella SDK\Bin. Se si esegue tale strumento da un'altra posizione della cartella, verificare che una copia dell'assembly Microsoft.Xrm.Sdk.dll si trovi nella stessa cartella.
Nell'esempio seguente viene indicato il formato per eseguire lo strumento da riga di comando per un'installazione locale di Microsoft Dynamics 365. I valori dei parametri per l'installazione devono essere specificati dall'utente.
CrmSvcUtil.exe /url:http://<serverName>/<organizationName>/XRMServices/2011/Organization.svc /out:<outputFilename>.cs /username:<username> /password:<password> /domain:<domainName> /namespace:<outputNamespace> /serviceContextName:<serviceContextName>
Nell'esempio seguente viene illustrato il formato per eseguire lo strumento da riga di comando con Microsoft Dynamics 365 (online). I valori dei parametri appropriati per l'account e il server devono essere specificati dall'utente.
CrmSvcUtil.exe /url:https://<organizationUrlName>.api.crm.dynamics.com/XRMServices/2011/Organization.svc /out:<outputFilename>.cs /username:<username> /password:<password> /namespace:<outputNamespace> /serviceContextName:<serviceContextName>
Per il parametro username, digitare il nome utente utilizzato per accedere a Account Microsoft o a Microsoft Office 365. Per trovare l'URL corretto nell'applicazione Web, selezionare Impostazioni, spostarsi in Personalizzazioni e quindi scegliere Risorse per sviluppatori. L'URL è indicato in Servizio organizzazione.
Per elencare i parametri della riga di comando supportati, utilizzare il comando seguente.
CrmSvcUtil.exe /?
Durante l'esecuzione dello strumento per Microsoft Dynamics 365 (online) tramite il provider di identità di Account Microsoft, non è più necessario immettere i parametri devicepassword e deviceid dalla riga di comando. Lo strumento registra il dispositivo automaticamente. Tuttavia, è possibile registrare manualmente il dispositivo e ottenere valori per questi parametri innanzitutto compilando ed eseguendo l'esempio di codice DeviceRegistration come descritto di seguito.
Generare l'ID e la password del singolo dispositivo
Aprire e creare il progetto DeviceRegistration: SDK\Tools\DeviceRegistration\DeviceRegistration.csproj.
Eseguire il file eseguibile dalla riga di comando. Per registrare il proprio dispositivo, impostare il parametro /operation su Register.
C:\deviceregistration.exe /operation:Register
Copiare l'ID e la password del dispositivo visualizzati e utilizzarli come valori del parametro deviceid e devicepassword quando si esegue lo strumento CrmSvcUtil.
Parametri
Nella tabella seguente sono elencati i parametri dello strumento di generazione del codice e viene fornita una breve descrizione del loro utilizzo.
Parametro |
Collegamento |
Descrizione |
Obbligatorio |
---|---|---|---|
deviceid |
di |
ID dispositivo utilizzato quando si esegue la connessione al server Online per l'autenticazione. Richiesto solo se l'ID del dispositivo non è stato archiviato nel disco nella cartella %USERPROFILE%\LiveDeviceID. Utilizzato solo con il provider di identità di Account Microsoft. |
Falso |
devicepassword |
dp |
Password del dispositivo utilizzata quando si esegue la connessione al server Online per l'autenticazione. Richiesto solo se la password del dispositivo non è stata archiviata nel disco nella cartella %USERPROFILE%\LiveDeviceID. Utilizzato solo con il provider di identità di Account Microsoft. |
Falso |
domain |
d |
Il dominio per l'autenticazione al momento della connessione al server. |
Falso |
url |
L'URL per il servizio di organizzazione. |
Vero |
|
out |
o |
Il nome del file per il codice generato. |
Vero |
language |
l |
Il linguaggio in cui generare il codice. Può essere “CS” o “VB”. Il valore predefinito è “CS”. |
Falso |
namespace |
n |
lo spazio dei nomi per il codice generato. L'impostazione predefinita è lo spazio dei nomi globale. |
Falso |
username |
u |
Il nome utente da utilizzare quando si esegue la connessione al server per l'autenticazione. |
Falso |
password |
p |
La password da utilizzare quando si esegue la connessione al server per l'autenticazione. |
Falso |
servicecontextname |
Il nome della classe di contesto del servizio di organizzazione generata. Se non viene specificato alcun valore, non viene creato nessun contesto di servizio. |
Falso |
|
help |
? |
Mostra informazioni di utilizzo. |
Falso |
nologo |
Eliminare lo striscione al runtime. |
Falso |
|
generateActions |
Generare le classi di richiesta e di risposta per le azioni. |
||
interactivelogin |
il |
Se impostato su true, viene visualizzata la finestra di dialogo per accedere al servizio Dynamics 365. Tutti gli altri parametri correlati alla connessione specificati nella riga di comando vengono ignorati. |
Falso |
connectionstring |
connstr |
Contiene informazioni, come singola stringa, per la connessione a un'organizzazione Dynamics 365. Tutti gli altri parametri correlati alla connessione specificati nella riga di comando vengono ignorati. Per ulteriori informazioni, vedere Utilizzare le stringhe di connessione negli strumenti XRM per connettersi a Dynamics 365. |
Falso |
Esempio di utilizzo
In questo esempio viene illustrato come utilizzare lo strumento di generazione del codice dalla riga di comando per ogni tipo di distribuzione. Si noti che il nome utente e la password sono parametri facoltativi. Se le credenziali per il server Microsoft Dynamics 365 di destinazione vengono archiviate nell'insieme di credenziali Windows, non è necessaria l'esecuzione dello strumento di generazione del codice.
Autenticazione richieste - Active Directory
Nel seguente esempio viene illustrato come eseguire lo strumento di generazione del codice utilizzando l'autenticazione delle richieste in Active Directory. Si noti l'utilizzo di HTTPS perché questo server di esempio utilizza Transport Layer Security (TLS) o Secure Sockets Layer (SSL).
CrmSvcUtil.exe /url:https://myport:555/MyOrg/XRMServices/2011/Organization.svc /out:GeneratedCode.cs
/username:administrator /password:password
Microsoft Dynamics 365 (online)
Nel seguente esempio viene illustrato come eseguire lo strumento di generazione del codice di Microsoft Dynamics 365 (online). Il primo esempio è relativo al provider di identità di Account Microsoft e il secondo è relativo al provider di identità di Office 365.
CrmSvcUtil.exe /url:https://myorg.api.crm.dynamics.com/XRMServices/2011/Organization.svc /out:GeneratedCode.cs /username:"myname@live.com" /password:"myp@ssword!"
CrmSvcUtil.exe /url:https://myorg.api.crm.dynamics.com/XRMServices/2011/Organization.svc /out:GeneratedCode.cs /username:"myname@myorg.onmicrosoft.com" /password:"myp@ssword!"
Autenticazione richieste - IFD
Nel seguente esempio viene illustrato come eseguire lo strumento di generazione del codice utilizzando l'autenticazione delle richieste.
CrmSvcUtil.exe /url:https://myorg.crm.com:555/XRMServices/2011/Organization.svc /out:GeneratedCode.cs /username:administrator /password:p@ssword!
Utilizzare il file di configurazione
Il file di configurazione di CrmSvcUtil.exe.config deve essere impostato nella stessa cartella dello strumento CrmSvcUtil.exe. Il file di configurazione utilizza le coppie chiave/valore standard nella sezione appSettings. Tuttavia, se si immette un valore nella riga di comando, tale valore verrà utilizzato al posto di quello nel file di configurazione. Tutte le coppie chiave/valori rilevate nel file di configurazione dell'applicazione che non corrispondono ai parametri previsti verranno ignorate.
Non includere i parametri namespace e url nel file di configurazione. Queste devono essere inserite dalla riga di comando quando viene eseguito lo strumento CrmSvcUtil.exe.
Nel seguenti esempio viene illustrato come configurare il file di output e i parametri del nome di dominio nel file di configurazione dell'applicazione utilizzando i tasti di scelta rapida.
<appSettings> <add key="o" value="CrmProxy.cs"/> <add key="d" value="mydomain"/></appSettings>
Abilitare la traccia
Per abilitare la traccia durante l'esecuzione dello strumento, aggiungi le righe seguenti nel file di configurazione:
<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>
Per ulteriori informazioni sulle opzioni di analisi supportate, vedi Configurare la traccia per gli strumenti XRM.
Vedere anche
Strumenti di sviluppo
Visualizzazione dei metadati per l'organizzazione
Creare le estensioni per lo strumento di generazione del codice
Utilizzare le classi dell'identità con associazione anticipata per la creazione, l'aggiornamento e l'eliminazione
Suggerimenti per la risoluzione dei problemi
Eseguire un semplice programma tramite i servizi Web di Microsoft Dynamics 365
Microsoft Dynamics 365
© 2017 Microsoft. Tutti i diritti sono riservati. Copyright