Condividi tramite


Strumento di registrazione ServiceModel (ServiceModelReg.exe)

Lo strumento da riga di comando consente di gestire la registrazione di ServiceModel su un determinato computer.

ServiceModelReg.exe [-i[r | ru] | -u | -ua | -r | -s:<path> | -sn:<path> | -k:<path> | -kn:<path> | -lv | -lk | -vi] [-q | -v] [-nologo] [-?]

Osservazioni

Lo strumento si trova nel percorso seguente:

%SystemRoot%\Microsoft.Net\Framework\v3.0\Windows Communication Foundation\

ms732012.note(it-it,VS.100).gifNota:
Quando lo strumento di registrazione ServiceModel viene eseguito su Windows Vista, la finestra di dialogo Funzionalità Windows potrebbe non indicare l'attivazione dell'opzione Attivazione di Windows Communication Foundation HTTP in Microsoft .NET Framework 3.0. La finestra di dialogo Funzionalità Windows può essere utilizzata facendo clic su Avvio, quindi fare clic su Esegui e digitando OptionalFeatures.

Nella tabella riportata di seguito sono descritte le opzioni che possono essere utilizzate con ServiceModelReg.exe.

Opzione Descrizione

-i

Registra questa versione di WCF e scriptmap di aggiornamento in corrispondenza della metabase Internet Information Services (IIS) e per tutti gli scriptmap nella radice. Gli scriptmap esistenti di versioni inferiori vengono aggiornati a questa versione.

-ir

Registra questa versione di WCF, solo registrazione. Non installare scriptmap WCF in IIS.

-iru

Registra questa versione di WCF. Se sono presenti applicazioni che utilizzano WCF, non aggiornare gli scriptmap in IIS.

-u

Annulla la registrazione di questa versione di WCF. Scriptmap esistenti di questa versione vengono rimappati alla versione superiore restante di WCF installata sul computer.

-ua

Annulla la registrazione di tutte le versioni di WCF sul computer.

-r

Registra di nuovo questa versione di WCF e aggiorna gli scriptmap in corrispondenza della radice della metabase Internet Information Services (IIS) e per tutti gli scriptmap nella radice. Gli scriptmap esistenti aggiornati a questa versione a prescindere dalle versioni originali.

-s:<percorso>

Registra scriptmap per questa versione di WCF al percorso specificato, in modo ricorsivo.

-sn:<percorso>

Registra scriptmap per questa versione di WCF al percorso specificato, in modo non ricorsivo.

-k:<percorso>

Rimuove tutti gli scriptmap di qualsiasi versione di WCF dal percorso specificato, in modo ricorsivo.

-kn:<percorso>

Rimuove tutti gli scriptmap di qualsiasi versione di WCF dal percorso specificato, in modo non ricorsivo.

-lv

Elenca tutte le versioni WCF registrate nel computer, con percorso di stato e installazione.

-lk

Elenca i percorsi di tutte le chiavi della metabase IIS in cui sono presenti scriptmap WCF, insieme con la versione. Le chiavi che ereditano gli scriptmap WCF da una chiave padre non vengono visualizzate.

-vi

Verifica l'installazione di componenti di destinazione e genera un rapporto. I componenti possono essere negli stati seguenti: ignoto, non installato, impostazione predefinita installata o impostazione personalizzata installata.

-y

Non chiedere conferma prima di aver effettuato la registrazione o la nuova registrazione dei componenti.

-q

Modalità non interattiva (output ridotto).

-v

Modalità dettagliata.

-nologo

Elimina le informazioni di copyright e il messaggio di avvio.

Correzione dell’errore FileLoadException

Se sono state installate versioni precedenti di WCF sul computer, è possibile che venga visualizzato un errore FileLoadFoundException durante l’esecuzione dello strumento ServiceModelReg per registrare una nuova installazione. Ciò può verificarsi anche se sono stati rimossi manualmente file dall’installazione precedente, ma sono state mantenute intatte le impostazioni machine.config.

Verrà visualizzato un messaggio di errore simile al seguente:

Error: System.IO.FileLoadException: Could not load file or assembly 'System.ServiceModel, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: 'System.ServiceModel, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'

È necessario notare dal messaggio di errore che è stato installato l’assembly System.ServiceModel Versione 2.0.0.0 di una precedente versione di Customer Technology Preview (CTP). La versione corrente dell'assembly System.ServiceModel rilasciata è invece 3.0.0.0. Pertanto, è possibile incontrare questo problema quando si vuole installare la versione ufficiale WCF su un computer nel quale è stata installata una precedente versione di CTP WCF, ma non completamente disinstallata.

ServiceModelReg.exe non può eseguire la pulizia di voci della versione precedente, né può registrare voci della versione nuova. L’unica soluzione alternativa è modificare manualmente machine.config. È possibile trovare questo file al percorso seguente.

%windir%\Microsoft.NET\Framework\v2.0.50727\config\machine.config 

Se si esegue WCF su un computer a 64 bit, è necessario modificare lo stesso file anche in questa posizione.

%windir%\Microsoft.NET\Framework64\v2.0.50727\config\machine.config 

Trovare qualsiasi nodo XML in questo file che fa riferimento a “System.ServiceModel, Versione=2 .0.0.0”, eliminare tali nodi e qualsiasi nodo figlio. Per risolvere il problema, salvare il file e ripetere l'esecuzione di ServiceModelReg.exe.

Esempi

Negli esempi seguenti è mostrato come utilizzare le opzioni -s e -k dello strumento ServiceModelReg.exe.

ServiceModelReg.exe -s:W3SVC/1/ROOT/SampleApp1
ServiceModelReg.exe -k:W3SVC/1/ROOT/SampleApp1