Я использую блок обработки исключений Enterprise Library в веб-приложении ASP.NET. Я только вчера использовал это приложение на работе (не VPN), и все работало нормально. Сегодня я работаю дома, и как только я ввожу в приложение формы auth'd, я получаю эту ошибку:
Произошла ошибка при создании обработчика раздела конфигурации для исключения. Обработка: не удалось загрузить файл или сборку. зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040) (C: \ Projects \ ThesaurusSME \ ThesaurusSME \ web.config строка 5)
Эта ошибка встречается в c: \ EntLib41Src \ Blocks \ Common \ Src \ Configuration \ SystemConfigurationSourceImplementation.cs , в этом методе:
public override ConfigurationSection GetSection(string sectionName)
{
ConfigurationSection configurationSection = ConfigurationManager.GetSection(sectionName) as ConfigurationSection;
SetConfigurationWatchers(sectionName, configurationSection);
return configurationSection;
}
Я проверил все файлы в папке bin, и все они 4.1.0.0.
<configSections>
<section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<section name="exceptionHandling" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration.ExceptionHandlingSettings, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Все другие разделы web.config, которые ссылаются на эти разделы, также показывают 4.1.0.0.
Если это помогает, InnerException / FusionLog говорит:
"=== Предварительная привязка информации о состоянии ===
DisplayName =
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling,
Версия = 4.1.0.0, Культура = нейтральная,
PublicKeyToken = 31bf3856ad364e35 \ п
(Полностью указано) LOG: Appbase =
Файл: /// C: / Проекты / ThesaurusSME / ThesaurusSME /
LOG: Initial PrivatePath =
C: \ Projects \ ThesaurusSME \ ThesaurusSME \ Bin
Вызывающая сборка: (неизвестно).
=== LOG: эта привязка начинается в контексте загрузки по умолчанию. LOG: Использование приложения
конфигурационный файл:
C: \ Projects \ ThesaurusSME \ ThesaurusSME \ web.config
LOG: использование файла конфигурации машины
от
C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Config \ machine.config.
LOG: Ссылка после политики:
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling,
Версия = 4.1.0.0, Культура = нейтральная,
PublicKeyToken = 31bf3856ad364e35 \ г \ Nlog:
Попытка загрузки нового URL
Файл: /// C: / Users / heckacr1 / AppData / Local / Temp / Temporary
ASP.NET
Файлы / корень / ac718580 / 56b7f71 / Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.DLL.
LOG: попытка загрузки нового URL
Файл: /// C: / Users / heckacr1 / AppData / Local / Temp / Temporary
ASP.NET
Файлы / корень / ac718580 / 56b7f71 / Microsoft.Practices.EnterpriseLibrary.ExceptionHandling / Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.DLL.
LOG: попытка загрузки нового URL
Файл: /// C: /Projects/ThesaurusSME/ThesaurusSME/bin/Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.DLL.
WRN: сравнение имени сборки привело к несоответствию: PUBLIC KEY
TOKEN ERR: не удалось завершить настройку
сборка (hr = 0x80131040). прощупывание
прекращено."
Почему это происходит только тогда, когда я удален от проводной интрасети и подключен к VPN?