C# 无法加载DLL UIAutomationCore.DLL

C# 无法加载DLL UIAutomationCore.DLL,c#,wpf,C#,Wpf,我的一个应用程序在XP上出现了一个奇怪的错误。该应用程序是C#中使用.NET客户端4的WPF应用程序。当应用程序启动时,应用程序显示UI,然后崩溃,我收到错误信息。错误来自我的跟踪日志文件。有人见过这个吗 Type : System.DllNotFoundException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Message : Unable to load DLL 'U

我的一个应用程序在XP上出现了一个奇怪的错误。该应用程序是C#中使用.NET客户端4的WPF应用程序。当应用程序启动时,应用程序显示UI,然后崩溃,我收到错误信息。错误来自我的跟踪日志文件。有人见过这个吗

Type : System.DllNotFoundException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Message : Unable to load DLL 'UIAutomationCore.dll': The specified procedure could not be found. (Exception from HRESULT: 0x8007007F)
    Source : UIAutomationTypes
    Help link : 
    TypeName : 
    Data : System.Collections.ListDictionaryInternal
    TargetSite : Int32 RawUiaLookupId(AutomationIdType, System.Guid ByRef)
    Stack Trace :    at MS.Internal.Automation.UiaCoreTypesApi.RawUiaLookupId(AutomationIdType type, Guid& guid)
       at System.Windows.Automation.AutomationIdentifier.Register(AutomationIdType type, Guid guid, String programmaticName)
       at System.Windows.Automation.InvokePatternIdentifiers..cctor()

我搜索了相同的问题,发现了以下问题:

根据那里的帖子,它说你可能有一个过时的UIautomation的DLL。 另外,根据此处发布的更新DLL的内容: 解决了这个问题

我希望我能帮忙


Sagi.

RawUiaLookupId由
UiaCoreTypesApi.UiaLookupId(type,ref-guid)
调用,以获取控件的Id,然后初始化自动标识符。UiAutomationCore.dll通常用于提供程序的实现,而且您的应用程序是WPF应用程序,因此问题出在服务器端。服务器端提供者通常由系统提供服务。我不确定是否进行windows更新将解决此问题。如果没有,我们需要手动更新此库。

该计算机上的c:\windows\system32\uiautomationcore.dll被破坏。通常由流氓安装程序执行。使用.NET 4从另一台XP机器复制已知的良好版本。只需重新安装.NET 4即可解决问题。我的应用程序包含安装程序,我如何知道是我的安装程序还是出现问题的客户端。该应用程序在大多数计算机上运行,这表明安装程序可以正常工作。据我所知,问题是特定的dll被破坏了。正如汉斯所说,从另一台计算机获得一个好的dll版本将解决这个问题。基本上,如果其他计算机的dll也被破坏,问题可能会发生在其他计算机上。为了安全起见,您可能应该在安装过程中包含该dll,并覆盖目标计算机上已经存在的dll。