Я использую блок обработки исключений корпоративной библиотеки в веб-приложении ASP.NET. Я просто использовал это приложение вчера на работе (без VPN), и все работало нормально. Сегодня я работаю дома, и как только у меня есть формы, авторизованные в приложении, я получаю эту ошибку:
Произошла ошибка при создании обработчика раздела конфигурации для exceptionHandling: не удалось загрузить файл или сборку Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version = 4.1.0.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35 или одну из его зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из 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, Version = 4.1.0.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35 \ n (полностью задано) LOG: Appbase = file: // / C: / Projects / ThesaurusSME / ThesaurusSME / LOG: Initial PrivatePath = C: \ Projects \ ThesaurusSME \ ThesaurusSME \ bin Вызывающая сборка: (Неизвестно). === LOG: Эта привязка запускается в контексте загрузки по умолчанию. LOG: Использование конфигурации приложения файл: C: \ Projects \ ThesaurusSME \ ThesaurusSME \ web.config ЖУРНАЛ: Использование файла конфигурации компьютера из C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ config \ machine.config. ЖУРНАЛ: Ссылка на пост-политику: Microsoft .Practices.EnterpriseLibrary.ExceptionHandling, Version = 4.1.0.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35 \ r \ nLOG: попытка загрузки нового файла URL: /// C: / Users / heckacr1 / AppData / Local / Temp / Temporary ASP Файлы .NET / root / ac718580 / 56b7f71 / Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.DLL. L OG: попытка загрузки нового файла URL: /// C: / Users / heckacr1 / AppData / Local / Temp / Temporary ASP.NET Files / root / ac718580 / 56b7f71 / Microsoft.Practices.EnterpriseLibrary.ExceptionHandling / Microsoft.Practices.EnterpriseLibrary .ExceptionHandling.DLL. ЖУРНАЛ: попытка загрузки нового файла URL: /// C: /Projects/ThesaurusSME/ThesaurusSME/bin/Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.DLL. WRN: сравнение имени сборки привело к несоответствию: PUBLIC KEY TOKEN ERR: Не удалось завершить настройку сборки (hr = 0x80131040). Исследование прекращено. "
Почему это может произойти только тогда, когда я вдали от проводной интрасети и использую VPN?