ServiceModel Kayıt Aracı (ServiceModelReg.exe)
Bu komut satırı aracı, tek bir makinede WCF ve WF bileşenlerinin kaydını yönetme olanağı sağlar. WcF ve WF bileşenleri yüklendiğinde yapılandırıldığından, normal koşullarda bu aracı kullanmanız gerekmez. Ancak hizmet etkinleştirmeyle ilgili sorunlarla karşılaşıyorsanız, bu aracı kullanarak bileşenleri kaydetmeyi deneyebilirsiniz.
Syntax
ServiceModelReg.exe[(-ia|-ua|-r)|((-i|-u) -c:<command>)] [-v|-q] [-nologo] [-?]
Açıklamalar
Araç aşağıdaki konumda bulunabilir:
%SystemRoot%\Microsoft.Net\Framework\v3.0\Windows Communication Foundation\
Not
ServiceModel Kayıt Aracı Windows Vista'da çalıştırıldığında, Windows Özellikleri iletişim kutusu Microsoft .NET Framework 3.0 altındaki Windows Communication Foundation HTTP Etkinleştirme seçeneğinin açık olduğunu yansıtmayabilir. Windows Özellikleri iletişim kutusuna Başlat'a ve ardından Çalıştır'a tıklayıp optionalFeatures yazarak erişilebilir.
Aşağıdaki tablolarda ServiceModelReg.exe ile kullanılabilecek seçenekler açıklanmaktadır.
Seçenek | Açıklama |
---|---|
-ia |
Tüm WCF ve WF bileşenlerini yükler. |
-ua |
Tüm WCF ve WF bileşenlerini kaldırır. |
-r |
Tüm WCF ve WF bileşenlerini onarir. |
-i |
–c ile belirtilen WCF ve WF bileşenlerini yükler. |
-u |
–c ile belirtilen WCF ve WF bileşenlerini kaldırır. |
-c |
Bir bileşeni yükler veya kaldırır: - httpnamespace – HTTP Ad Alanı Ayırması - tcpportsharing – TCP bağlantı noktası paylaşım hizmeti - tcpactivation – TCP etkinleştirme hizmeti (.NET 4 İstemci Profilinde desteklenmez) - namedpipeactivation – Adlandırılmış kanal etkinleştirme hizmeti (.NET 4 İstemci Profilinde desteklenmez) - msmqactivation – MSMQ etkinleştirme hizmeti (.NET 4 İstemci Profilinde desteklenmiyor - etw – ETW olay izleme bildirimleri (Windows Vista veya üzeri) |
-q |
Sessiz mod (yalnızca hata günlüğünü görüntüle) |
-v |
Ayrıntılı mod. |
-nologo |
Telif hakkı ve başlık iletisini bastırır. |
-? |
Yardım metnini görüntüler |
FileLoadException Hatasını Düzeltme
Makinenize WCF'nin önceki sürümlerini yüklediyseniz, yeni bir yükleme kaydetmek için ServiceModelReg aracını çalıştırdığınızda bir FileLoadFoundException
hata alabilirsiniz. Önceki yüklemeden dosyaları el ile kaldırmış ancak machine.config ayarlarını olduğu gibi bıraksanız bile bu durum oluşabilir.
Hata iletisi aşağıdakine benzer.
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'
System.ServiceModel Sürüm 2.0.0.0 derlemesinin erken bir Customer Technology Preview (CTP) sürümü tarafından yüklendiğini hata iletisinden not almanız gerekir. Yayımlanan System.ServiceModel derlemesinin geçerli sürümü 3.0.0.0'dır. Bu nedenle, resmi WCF sürümünü WCF'nin erken bir CTP sürümünün yüklü olduğu ancak tamamen kaldırılmadığı bir makineye yüklemek istediğinizde bu sorunla karşılaşılır.
ServiceModelReg.exe önceki sürüm girdilerini temizleyemez veya yeni sürümün girdilerini kaydedemez. Tek geçici çözüm, machine.config el ile düzenlemektir. Bu dosyayı aşağıdaki konumda bulabilirsiniz.
%windir%\Microsoft.NET\Framework\v2.0.50727\config\machine.config
WCF'yi 64 bit makinede çalıştırıyorsanız, aynı dosyayı bu konumda da düzenlemeniz gerekir.
%windir%\Microsoft.NET\Framework64\v2.0.50727\config\machine.config
Bu dosyada "System.ServiceModel, Version=2.0.0.0" ifadesine başvuran xml düğümlerini bulun, bunları ve tüm alt düğümleri silin. Dosyayı kaydedin ve yeniden çalıştırın ServiceModelReg.exe bu sorunu çözer.
Örnekler
Aşağıdaki örneklerde, ServiceModelReg.exe aracının en yaygın seçeneklerinin nasıl kullanılacağı gösterilmektedir.
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