2014-01-03 3 views
2

Из журналов слияния проблема System.Web 2.0 перенаправляется на System.Web 4.0, который НЕ находится в GAC и поэтому не загружается. Я сравнил его с System.Xml 2.0, который также перенаправляется на System.Xml 4.0, но это действительно в GAC и поэтому успешно загружается.Загрузка System.Web завершается с ошибкой, но загрузка System.Xml преуспевает

Наш 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?

ответ

2

Прежде всего нет, это довольно плохо, чтобы иметь это в machine.config. Может возникнуть множество проблем с приложениями, запущенными в предыдущих версиях .net.

Что касается недостающего system.web.dll Возможно, на этом сервере кто-то установил только профиль клиента .NET 4. Профиль клиента не включает system.web ...

+0

Наш .NET-разработчик говорит, что это наш app.config, который заставляет перенаправление, а не machine.config, как я впервые сообщил. Я думал, что это machine.config, потому что журнал слияния сообщает о перенаправлении версии сразу после сообщения пути machine.config. –

+0

Мы попросили клиента проверить, установлен ли только профиль клиента .NET 4. Спасибо за этот совет. –

+0

Клиент сообщил, что был установлен только профиль клиента .NET Framework 4. Исправлена ​​проблема с удалением и установкой полной структуры. Спасибо! –

Смежные вопросы