Azure Service Fabric报错:Application type and version not found 求助
解决Azure Service Fabric应用运行报错:Application type and version not found
哦,这个问题我熟!我当初用VS2017开发Service Fabric无状态服务时也踩过一模一样的坑,核心原因就是本地Service Fabric集群没找到对应的应用类型和版本包,大概率是自动发布流程里的部署环节出了小问题。给你几个靠谱的解决步骤,按顺序试:
先清理重建部署包
右键点击你的Service Fabric应用项目,先选清理,再选重新生成。旧的部署包可能残留了错误信息,这一步能确保生成最新的、完整的包。检查发布配置并重新发布
右键应用项目选发布,在弹出的窗口里确认:目标集群连接端点是localhost:19000(本地开发集群的默认地址)应用类型版本和应用名称没有拼写错误
然后把升级应用的下拉选项改成删除应用,点击发布——有时候旧的应用实例残留会导致集群识别新包出错。
手动注册应用类型到集群
如果自动发布还是不行,咱们手动来操作:- 打开「Service Fabric PowerShell」(开始菜单搜就能找到)
- 先连接本地集群:
Connect-ServiceFabricCluster localhost:19000 - 找到项目生成的部署包路径,一般在
[你的项目根目录]\pkg\Debug下面 - 把包复制到集群镜像存储:
Copy-ServiceFabricApplicationPackage -ApplicationPackagePath "C:\YourProjectPath\pkg\Debug" -ImageStoreConnectionString "file:C:\SfDevCluster\Data\ImageStoreShare" -CompressPackage - 注册应用类型:
Register-ServiceFabricApplicationType -ApplicationPathInImageStore "YourApplicationTypeName"
(把上面的路径和应用类型名换成你自己的)完成后再启动项目,集群就能找到对应的应用类型了。
重置本地集群
如果前面的方法都没效果,可能是本地集群本身出了状态异常。找到任务栏托盘里的「Service Fabric本地集群管理器」图标,右键选择重置集群——这会清空集群里的所有应用和状态,重置完成后再重新发布你的项目就行。
另外提个小细节:确保你的VS2017安装了最新的Service Fabric SDK和工具,旧版本工具有时候和VS2017的兼容性不好,也会导致发布流程出问题。
补充下:这个报错本质是
New-ServiceFabricApplication命令在创建应用实例时,集群里还没有注册对应的应用类型信息,所以所有解决方法都是围绕着让集群正确获取到你的应用类型包来展开的。
内容的提问来源于stack exchange,提问作者No1Lives4Ever
相关产品推荐
相关产品推荐

