'无法将类型'System.__ComObject'的COM对象转换为接口类型'IFabricServiceManagementClient8'

问题描述 投票:0回答:1

我创建了客户端并从客户端调用我的演员,客户端无法与演员通信

即使使用更新的服务结构和运行时最新的错误 我正在使用 vs2022 和服务结构运行时 10.xx 和 SDK 7.X

System.InvalidCastException:“无法将类型为‘System.__ComObject’的 COM 对象转换为接口类型‘IFabricServiceManagementClient8’。此操作失败,因为对 IID 为“{27309DB9-61A7-AE11-967A-BBFF7D5A5460}”的接口的 COM 组件上的 QueryInterface 调用由于以下错误而失败:否

提前谢谢你

azure azure-service-fabric service-fabric-actor
1个回答
0
投票

我遇到了完全相同的错误消息,我发现这是因为我在项目中使用的 NuGet 包针对的 ServiceFabric 版本比我本地计算机上安装的版本更新。

现在我不确定您的项目使用的是哪个 NuGet,但请看一下下图。

Microsoft Service Fabric NuGet Structure

在顶部您可以看到我在项目中使用的 Microsoft.ServiceFabric.Actors (7.1.1541) NuGet 包。

如果您深入到 Microsoft.ServiceFabric.Services.Remoting -> Microsft.ServiceFabric.Services -> Microsft.ServiceFabric (10.1.1541),这就是错误的来源。

在我的本地计算机上,我有 ServiceFabric 10.0.1949。但是,Microsoft.ServiceFabric nugets 的目标是 ServiceFabric 10.1.1541。

修复是将 Microsoft.ServiceFabric.XXXX nuget 从 7.1.1541 回滚到 7.0.1949。这样,传递的 10.0.1949 nuget 就与我的 Service Fabric 本地版本相匹配。

TL/DR:回滚项目的 Microsft.ServiceFabric.xxxx NuGet 包,以便可传递的 Microsft.ServiceFabric nuget 包的版本 # 与您的本地 Service Fabric 版本匹配。对我来说,它是从 7.1.1541 -> 7.0.1949 开始的。

© www.soinside.com 2019 - 2024. All rights reserved.