首页 > 解决方案 > Service Fabric 应用程序部署

问题描述

注册服务结构应用程序失败并出现错误

“在商店中找不到应用程序包‘ServiceFabricApp’。请确保该程序包之前已复制到商店。如果该程序包先前已成功预配,则可能已根据清理策略删除了临时程序包。”

更多上下文,我正在使用服务结构 API 来连接、创建/升级应用程序。遵循此文档:https ://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-deploy-remove-applications-fabricclient#code-example

能够将应用程序包复制到本地路径一些“C:\ImageFolder”(能够验证包存在并且对该文件夹具有只读权限)。我在ProvisionApplicationAsync 遇到问题。

    try
    {
        fabricClient.ApplicationManager.ProvisionApplicationAsync(packagePathInImageStore).Wait();

        Console.WriteLine("Provisioned application type {0}", packagePathInImageStore);
    }
    catch (AggregateException ae)
    {
        Console.WriteLine("Provision Application Type failed:");

        foreach (Exception ex in ae.InnerExceptions)
        {
            Console.WriteLine("HResult: {0} Message: {1}", ex.HResult, ex.Message);
        }
    }

有错误:

在商店中找不到应用程序包“ServiceFabricApp”。确保该包先前已复制到商店。如果包之前已成功预配,则可能已根据清理策略删除了临时包。

复制应用代码:

   string imageStoreConnectionString = "file:C:\ImageFolder";
   string packagePathInImageStore = "ServiceFabricApp";
   try
    {
        fabricClient.ApplicationManager.CopyApplicationPackage(imageStoreConnectionString, packagePath, packagePathInImageStore);
        Console.WriteLine("Application package copied to {0}", packagePathInImageStore);
    }
    catch (AggregateException ae)
    {
        Console.WriteLine("Application package copy to Image Store failed: ");
        foreach (Exception ex in ae.InnerExceptions)
        {
            Console.WriteLine("HResult: {0} Message: {1}", ex.HResult, ex.Message);
        }
    }

标签: c#azureazure-service-fabricservice-fabric-statefulservice-fabric-stateless

解决方案


不得不将图像存储更改为:fabric:ImageStore

更多详细信息:https ://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-image-store-connection-string


推荐阅读