Исключение System.IO.FileLoadException. Не удалось загрузить специальные возможности, версия = 2.0.0.0

Я совсем недавно столкнулся с этой проблемой, и это может быть связано с чем-то, что я установил на свою машину. Хотя я не могу вспомнить. Время от времени я получаю окно сообщения Microsoft .NET Framework, которое появляется на моем компьютере и говорит мне:

Необработанное исключение произошло в компоненте вашего приложения. Если вы нажмете «Продолжить», приложение проигнорирует эту ошибку и попытается продолжить работу.

Не удалось загрузить файл или сборку «Доступность, версия = 2.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a» или одну из ее зависимостей. Заданное имя сборки или кодовая база

Я попытался переустановить фреймворк .net 4.0. Я не могу найти загрузку .net 2.0 framework для переустановки. Я попытался использовать доступность gacutil / uf, чтобы принудительно удалить эту DLL, но это не работает. Я также проверил, где установлена ​​​​dll Accessibility, и сравнил ее с другими машинами, и все то же самое, включая global.config и web.config.

Это исключение возникает не только для одного процесса на моей машине. Поскольку это проблема с моим GAC, любое приложение, использующее эту сборку, выдает одно и то же исключение.

Я включил ведение журнала привязки с помощью Fusion, и вот что мне говорят подробности:

"See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IO.FileLoadException: Could not load file or assembly 'Accessibility, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)
File name: 'Accessibility, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
   at System.Windows.Forms.Control.OnHandleCreated(EventArgs e)
   at System.Windows.Forms.Control.WmCreate(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

=== Pre-bind state information ===
LOG: User = CORP\agg9909
LOG: DisplayName = Accessibility, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 (Fully-specified)
LOG: Appbase = file:///C:/Program Files (x86)/Intel/Intel(R) Management Engine Components/IMSS/
LOG: Initial PrivatePath = NULL
Calling assembly : System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IMSS\PrivacyIconClient.exe.Config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v2.0.50727\config\machine.config.
LOG: Post-policy reference: Accessibility, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
LOG: The same bind was seen before, and was failed with hr = 0x80131047.



************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5444 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
PrivacyIconClient
    Assembly Version: 6.0.40.1213
    Win32 Version: 6.0.40.1213
    CodeBase: file:///C:/Program%20Files%20(x86)/Intel/Intel(R)%20Management%20Engine%20Components/IMSS/PrivacyIconClient.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
AMT_COM_InterfaceLib
    Assembly Version: 1.0.0.0
    Win32 Version: 6.0.0.0
    CodeBase: file:///C:/Program%20Files%20(x86)/Intel/Intel(R)%20Management%20Engine%20Components/IMSS/AMT_COM_InterfaceLib.DLL
----------------------------------------
AMT_SW_GUI
    Assembly Version: 1.0.3538.22155
    Win32 Version: 1.0.0.20
    CodeBase: file:///C:/Program%20Files%20(x86)/Intel/Intel(R)%20Management%20Engine%20Components/IMSS/AMT_SW_GUI.DLL
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box."

Любая помощь будет принята с благодарностью.


person dodecahydra    schedule 02.05.2011    source источник


Ответы (1)


Скорее всего, ваш Accessibility.dll поврежден. Вы не сможете удалить файл, даже будучи администратором.

Вы должны зайти в настройки безопасности и изменить владельца с TrustedInstaller на другого пользователя и предоставить себе права доступа к файлу. После этого получите Accessibility.dll с работающего компьютера и замените поврежденную версию.

Насколько я могу судить, установщик от Microsoft повредил DLL, поскольку ни один пользователь не имеет права редактировать/удалять/заменять файлы, принадлежащие TrustedInstaller.

person Ian Davis    schedule 02.05.2011
comment
Это сработало отлично. Недавно я установил Visual Studio 2010 SP1 и Visual Studio 2010 SP1 SDK, так что, возможно, одна из этих установок вызвала мою проблему. - person dodecahydra; 03.05.2011