Udostępnij za pośrednictwem


Narzędzie rejestracji modelu ServiceModel (ServiceModelReg.exe)

To narzędzie wiersza polecenia umożliwia zarządzanie rejestracją składników WCF i WF na jednej maszynie. W normalnych okolicznościach nie należy używać tego narzędzia, ponieważ składniki WCF i WF są konfigurowane podczas instalacji. Jeśli jednak występują problemy z aktywacją usługi, możesz spróbować zarejestrować składniki przy użyciu tego narzędzia.

Składnia

ServiceModelReg.exe[(-ia|-ua|-r)|((-i|-u) -c:<command>)] [-v|-q] [-nologo] [-?]  

Uwagi

Narzędzie można znaleźć w następującej lokalizacji:

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

Uwaga

Po uruchomieniu narzędzia rejestracji serviceModel w systemie Windows Vista okno dialogowe Funkcje systemu Windows może nie odzwierciedlać, że opcja Aktywacja HTTP programu Windows Communication Foundation w programie Microsoft .NET Framework 3.0 jest włączona. Dostęp do okna dialogowego Funkcje systemu Windows można uzyskać, klikając przycisk Start, a następnie kliknij pozycję Uruchom , a następnie wpisując optionalFeatures.

W poniższych tabelach opisano opcje, których można używać z ServiceModelReg.exe.

Opcja Opis
-ia Instaluje wszystkie składniki WCF i WF.
-ua Odinstalowuje wszystkie składniki WCF i WF.
-r Naprawia wszystkie składniki WCF i WF.
-i Instaluje składniki WCF i WF określone z –c.
-u Odinstalowuje składniki WCF i WF określone za pomocą -c.
-c Instaluje lub odinstalowuje składnik:

- httpnamespace — rezerwacja przestrzeni nazw HTTP
- tcpportsharing — usługa udostępniania portów TCP
— tcpactivation — usługa aktywacji TCP (nieobsługiwana w profilu klienta platformy .NET 4)
- namedpipeactivation — nazwana usługa aktywacji potoku (nieobsługiwana w profilu klienta platformy .NET 4
— msmqactivation — usługa aktywacji MSMQ (nieobsługiwana w profilu klienta platformy .NET 4)
- etw — manifesty śledzenia zdarzeń ETW (Windows Vista lub nowszy)
-q Tryb cichy (wyświetlanie tylko rejestrowania błędów)
-v Tryb informacji pełnej.
-nologo Pomija prawa autorskie i komunikat baneru.
-? Wyświetla tekst pomocy

Naprawianie błędu FileLoadException

Jeśli na maszynie zainstalowano poprzednie wersje programu WCF, może wystąpić FileLoadFoundException błąd podczas uruchamiania narzędzia ServiceModelReg w celu zarejestrowania nowej instalacji. Może się tak zdarzyć, nawet jeśli ręcznie usunięto pliki z poprzedniej instalacji, ale ustawienia machine.config pozostawione bez zmian.

Komunikat o błędzie jest podobny do poniższego.

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'  

Należy zwrócić uwagę na komunikat o błędzie informujący, że zestaw System.ServiceModel w wersji 2.0.0.0 został zainstalowany przez wczesną wersję CTP (Customer Technology Preview). Bieżąca wersja wydanego zestawu System.ServiceModel to zamiast tego 3.0.0.0. W związku z tym ten problem występuje, gdy chcesz zainstalować oficjalną wersję WCF na maszynie, na której zainstalowano wczesną wersję CTP programu WCF, ale nie została całkowicie odinstalowana.

ServiceModelReg.exe nie można wyczyścić wpisów wcześniejszych wersji ani zarejestrować wpisów nowej wersji. Jedynym obejściem jest ręczne edytowanie machine.config. Ten plik można zlokalizować w następującej lokalizacji.

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

Jeśli korzystasz z programu WCF na maszynie 64-bitowej, należy również edytować ten sam plik w tej lokalizacji.

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

Znajdź wszystkie węzły XML w tym pliku, które odwołują się do "System.ServiceModel, Version=2.0.0.0", usuń je i wszystkie węzły podrzędne. Zapisz plik i uruchom ponownie ServiceModelReg.exe rozwiąże ten problem.

Przykłady

W poniższych przykładach pokazano, jak używać najpopularniejszych opcji narzędzia 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