現象
たとえば次のようなシナリオを考えてみます。
- コンピューターが Windows 7 または Windows Server 2008 R2 を実行しています。
- コンピューターは Windows Communication Foundation (WCF) サービスを実行しており、サービスはインターネット インフォメーション サービス (IIS) でホストされています。 サービスは HTTP または HTTPS プロトコルを使用し、Windows 認証を使用しています。
- WCF 用の Microsoft .NET Framework 3.0 Service Pack 2 または .NET Framework 3.5 Service Pack 1 の更新プログラムをインストールします。 たとえば、セキュリティ更新プログラム の2756920をインストールします。
このシナリオでは、要求されたページで次のような例外エラー メッセージが表示される場合があります。
注
'/SecurtyTokenServiceApplication' アプリケーションのサーバー エラー
メソッドが見つかりません: 'System.String
System.ServiceModel.Ativation.iis7helper.extendedprotectiondotlessspnnotenabledthrowhelper(system.object)'
たとえば、Microsoft SharePoint 2010 Web サイトに移動すると、エラー メッセージが表示される場合があります。
この問題が発生すると、サーバー上のイベント ログに次のエラー メッセージが表示される場合もあります。
注
WebHost が要求を処理できませんでした。
送信者情報: System.ServiceModel.ServiceHostingEnvironment+HostingManager/17653682
例外: System.ServiceModel.ServiceActivationException: コンパイル中に例外が発生したため、サービス '/SecurityTokenServiceApplication/securitytoken.svc' をアクティブ化できません。
例外メッセージは、メソッドが見つかりません: 'System.String System.ServiceModel.Activation.Iis7Helper.ExtendedProtectionDotlessSpnNotEnabledThrowHelper(System.Object)' です。 --->
System.MissingMethodException: メソッドが見つかりません: 'System.String System.ServiceModel.Activation.Iis7Helper.ExtendedProtectionDotlessSpnNotEnabledThrowHelper(System.Object)' です。
at System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.WebConfigurationManagerWrapper.BuildExtendedProtectionPolicy(ExtendedProtectionTokenChecking tokenChecking, ExtendedProtectionFlags flags, List'1 spnList)
at System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.WebConfigurationManagerWrapper.GetExtendedProtectionPolicy(ConfigurationElement 要素)
at System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.ProcessWindowsAuthentication(String siteName, String virtualPath, HostedServiceTransportSettings& transportSettings)
原因
この問題は、コンピューターに System.ServiceModel.WasHosting.dll ではなく System.ServiceModel.dll のみを含む修正プログラムがインストールされている可能性があるために発生します。 これらのファイルのみが含まれていることがわかっている修正プログラムの一覧については、「詳細情報」セクションを参照してください。
この問題により、新しい更新プログラムは両方のファイルの同じバージョンをインストールできません。 これにより、2 つのファイル間の依存関係が公開されます。 これにより、前述の例外が発生します。 この問題は、以前にリリースされた修正プログラムの問題が原因で発生し、特に新しい更新プログラムが原因ではありません。 新しい更新プログラムは、問題を解決するだけです。
解決策
この問題を回避するには、System.ServiceModel.dll と System.ServiceModel.WasHosting.dll のバージョンが同期されていることを確認します。
この問題を解決するには、更新プログラム 2637518または両方のアセンブリを含む .NET Framework 3.0 SP2 修正プログラムをインストールします。
この問題を解決するには、更新 プログラム2637518 をインストールすることをお勧めします。 ただし、この修正プログラムは、ここで説明する問題のみを修正することを目的としたものです。 この修正プログラムは、ここで説明する問題が発生しているシステムにのみ適用してください。
Microsoft ダウンロード センターからこの修正プログラムをダウンロードするには、次の Microsoft ダウンロード センター Web ページに移動します。
http://go.microsoft.com/fwlink/?LinkID=242859 注 この問題が既に発生している場合は、更新プログラム の2637518をインストールします。 この問題の原因となった更新プログラムを再インストールする必要はありません。
再起動の必要性
この更新プログラムの適用後、コンピューターの再起動が必要になる場合があります。
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。
追加情報
次の修正プログラムは、Windows 7 または Windows Server 2008 R2 RTM を実行しているコンピューターにインストールされている場合、および WCF 用の新しい .NET Framework 3.5 SP1 更新プログラムがインストールされていない場合に、この問題を引き起こす可能性があります。 関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
976462 The.NET Framework 3.5 Service Pack 1 の修正プログラムは、Microsoft Office SharePoint Server 2010 の前提条件として Windows 7 および Windows Server 2008 R2 で使用できます
977420 修正プログラムロールアップを使用すると、Windows 7 および Windows Server 2008 R2 用の .NET Framework 3.5 SP1 の Windows Communication Foundation の問題を解決できます
コンピューターによってホストされる WCF サービスと NLB の982867は、.NET Framework 3.5 SP1 または .NET Framework 4 で失敗します