我有用 C#.net 7 编写的 32 位 API。该 API 需要使用 OLEDB 驱动器(32 位)访问 FOX PRO DBF 文件。 (如果存在 64 位驱动器可以完成这项工作,请告诉我,以便我可以升级)
所有工作均在 IISExpress、VS2022 环境(开发、阶段和产品)上进行。
我确实在本地 PC 上部署到 IIS 10,API 运行。当我们请求数据时就会出现问题。
我明白了:
curl -X 'GET' \
'http://localhost:15080/excessiveReturns' \
-H 'accept: application/json'
http://localhost:15080/excessiveReturns
CodeDetails500UndocumentedError:内部服务器错误响应正文下载
{“类型”:“https://tools.ietf.org/html/rfc7231#section-6.6.1”,
“title”:“处理您的请求时发生错误。”,“status”:500,
“详细信息”:“数据提供程序需要 Microsoft 数据访问组件 (MDAC)。请安装 Microsoft 数据访问组件 (MDAC) 2.6 或更高版本。 - 内置 COM 已通过功能开关禁用。请参阅 https:/ /aka.ms/dotnet-illink/com 了解更多信息。”
}
响应标头内容类型:application/problem+json 日期:2023 年 9 月 30 日星期六 00:16:10 GMT 服务器:Microsoft-IIS/10.0 传输编码:分块 x-powered-by:ASP.NET
我确实安装了 MDAC 2.8。重新启动我的电脑。但是问题依然存在
请提供解决此问题的建议吗?
我提前表示感谢。
我确实安装了 MDAC 2.8。重新启动我的电脑。但是问题依然存在
我关注的是错误消息的第一部分:“数据提供程序需要 Microsoft 数据访问组件 (MDAC)。请安装 Microsoft 数据访问组件 (MDAC) 2.6 或更高版本”
当我搜索第二部分错误消息时,我找到了解决方案:“内置 COM 已通过功能开关禁用。”我找到了这个链接:System.NotSupportedException in TaskScheduler when using PublishTrimmed .NET6.0
这个问题的解决方案是项目文件中的BuiltInComInteropSupport:
<PropertyGroup>
...
<BuiltInComInteropSupport>true</BuiltInComInteropSupport>
</PropertyGroup>