Fusion ログから、問題は System.Web 2.0 が System.Web 4.0 にリダイレクトされることです。これは GAC にないため、ロードに失敗します。System.Xml 4.0 にリダイレクトされる System.Xml 2.0 と比較しましたが、実際には GAC にあるため、正常にロードされます。
app.config は、2.0 アセンブリから 4.0 アセンブリへのリダイレクトを強制しています。
失敗したSystem.Web バインドのスニペットを次に示します。
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Windows\SysWOW64\pnbrksvc.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Version redirect found in framework config: 2.0.0.0 redirected to 4.0.0.0.
LOG: Post-policy reference: System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
LOG: GAC Lookup was unsuccessful.
成功したSystem.Xml バインドのスニペットを次に示します。
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Windows\SysWOW64\pnbrksvc.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Version redirect found in framework config: 2.0.0.0 redirected to 4.0.0.0.
LOG: Post-policy reference: System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
LOG: Binding succeeds. Returns assembly from C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll.
LOG: Assembly is loaded in default load context.
.NET 4 には System.Web が付属していると思います。System.Web v4.0 を GAC に再インストールするのと同じくらい簡単でしょうか?