System.InvalidOperationException:“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册

Posted

技术标签:

【中文标题】System.InvalidOperationException:“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册【英文标题】:System.InvalidOperationException: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine 【发布时间】:2020-11-24 20:32:39 【问题描述】:

我正在尝试在 Azure DevOps 中使用 vstest 运行测试。但得到以下错误。任何线索可能导致以下错误?

..

【问题讨论】:

只是检查一下这个问题现在是否仍然阻止您?这个问题有什么更新吗? 下面的答案有帮助吗? 【参考方案1】:

这似乎是主机问题(IIS)。请联系支持人员并要求他们解决此问题。

参考资料:

    The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine (server) https://www.mikesdotnetting.com/article/280/solved-the-microsoft-ace-oledb-12-0-provider-is-not-registered-on-the-local-mach

【讨论】:

这对你有帮助吗@Ramdas?【参考方案2】:

您似乎正在使用托管代理,您可以查看有关 Microsoft-hosted agent configuration 的文档。

Access Engine 未预装在 microsoft 托管代理中,因此 microsoft 托管代理无法满足测试要求。它可能会导致错误。我们可以使用 power shell 任务并运行脚本(New-Object system.data.oledb.oledbenumerator).GetElements() | select SOURCES_NAME, SOURCES_DESCRIPTION 来检查它。

微软托管代理windows-2019

本地机器

有效的方法是在您的本地机器或虚拟机上安装Microsoft Access Database Engine,然后您可以创建一个自托管代理来运行需要MS Access Engine 的测试。

在这种情况下,正确的方法是您可以创建一个self-hosted agent 并在其上运行测试。

【讨论】:

以上是关于System.InvalidOperationException:“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册的主要内容,如果未能解决你的问题,请参考以下文章

视图中出现 InvalidOperationException.Collection 被修改错误