ServiceModel Registration Tool (ServiceModelReg.exe)
Esta ferramenta de linha de comandos permite gerir o registo de componentes WCF e WF num único computador. Em circunstâncias normais, não deve ter de utilizar esta ferramenta, uma vez que os componentes WCF e WF são configurados quando instalados. No entanto, se estiver a ter problemas com a ativação do serviço, pode tentar registar os componentes com esta ferramenta.
Syntax
ServiceModelReg.exe[(-ia|-ua|-r)|((-i|-u) -c:<command>)] [-v|-q] [-nologo] [-?]
Observações
A ferramenta pode ser encontrada na seguinte localização:
%SystemRoot%\Microsoft.Net\Framework\v3.0\Windows Communication Foundation\
Nota
Quando a ServiceModel Registration Tool é executada no Windows Vista, a caixa de diálogo Funcionalidades do Windows pode não refletir que a opção Ativação HTTP do Windows Communication Foundation no Microsoft .NET Framework 3.0 está ativada. A caixa de diálogo Funcionalidades do Windows pode ser acedida ao clicar em Iniciar e, em seguida, clique em Executar e, em seguida, escreva OptionalFeatures.
As tabelas seguintes descrevem as opções que podem ser utilizadas com ServiceModelReg.exe.
Opção | Descrição |
---|---|
-ia |
Instala todos os componentes WCF e WF. |
-ua |
Desinstala todos os componentes WCF e WF. |
-r |
Repara todos os componentes WCF e WF. |
-i |
Instala componentes WCF e WF especificados com –c. |
-u |
Desinstala os componentes WCF e WF especificados com –c. |
-c |
Instala ou desinstala um componente: - httpnamespace – Reserva de Espaço de Nomes HTTP - tcpportsharing – Serviço de partilha de portas TCP - tcpactivation – Serviço de ativação TCP (não suportado no Perfil de Cliente .NET 4) - namedpipeactivation – Serviço de ativação de pipe nomeado (não suportado no Perfil de Cliente .NET 4) - msmqactivation – serviço de ativação MSMQ (não suportado no Perfil de Cliente .NET 4 - etw – manifestos de rastreio de eventos ETW (Windows Vista ou posterior) |
-q |
Modo silencioso (apresentar apenas o registo de erros) |
-v |
Modo verboso. |
-nologo |
Suprime os direitos de autor e a mensagem de faixa. |
-? |
Apresenta texto de ajuda |
Corrigir o Erro FileLoadException
Se instalou versões anteriores do WCF no seu computador, poderá obter um FileLoadFoundException
erro ao executar a ferramenta ServiceModelReg para registar uma nova instalação. Isto pode acontecer mesmo que tenha removido manualmente ficheiros da instalação anterior, mas tenha deixado as definições de machine.config intactas.
A mensagem de erro é semelhante à seguinte.
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'
Deve ter em atenção na mensagem de erro que a assemblagem System.ServiceModel Versão 2.0.0.0 foi instalada por uma versão anterior da Pré-visualização de Tecnologia do Cliente (CTP). Em alternativa, a versão atual da assemblagem System.ServiceModel lançada é 3.0.0.0. Por conseguinte, este problema é encontrado quando quer instalar a versão oficial do WCF num computador onde foi instalada uma versão CTP antecipada do WCF, mas não completamente desinstalada.
ServiceModelReg.exe não é possível limpar entradas de versões anteriores nem registar as entradas da nova versão. A única solução é editar manualmente machine.config. Pode localizar este ficheiro na seguinte localização.
%windir%\Microsoft.NET\Framework\v2.0.50727\config\machine.config
Se estiver a executar o WCF num computador de 64 bits, também deve editar o mesmo ficheiro nesta localização.
%windir%\Microsoft.NET\Framework64\v2.0.50727\config\machine.config
Localize quaisquer nós XML neste ficheiro que façam referência a "System.ServiceModel, Version=2.0.0.0", elimine-os e quaisquer nós subordinados. Guarde o ficheiro e execute novamente ServiceModelReg.exe resolve este problema.
Exemplos
Os exemplos seguintes mostram como utilizar as opções mais comuns da ferramenta ServiceModelReg.exe.
ServiceModelReg.exe -ia
Installs all components
ServiceModelReg.exe -i -c:httpnamespace -c:etw
Installs HTTP namespace reservation and ETW manifests
ServiceModelReg.exe -u -c:etw
Uninstalls ETW manifests
ServiceModelReg.exe -r
Repairs an extended install