ServiceFabric Stateless / StatefulServices不会重新生成所需的ServiceManifest.xml

时间:2017-03-02 11:41:51

标签: azure-service-fabric service-fabric-stateful

在执行一个相当突兀的重构(重命名项目,移动服务等)之后 - 我发现ServiceManifest.xml和ApplicationManifest.xml中的相应配置都没有为无状态和有状态服务生成。

重新制作的步骤:

  1. 右键单击现有的服务结构应用程序项目(.sfproj)
  2. 添加>新服务面料服务......
  3. 选择无状态服务
  4. 查看ServiceManifest.xml,您会看到:

                          

    <!-- Code package is your service executable. -->
    <CodePackage Name="Code" Version="1.0.0">
        <EntryPoint>
        <ExeHost>
            <Program>Stateless1.exe</Program>
        </ExeHost>
        </EntryPoint>
    </CodePackage>
    
    <!-- Config package is the contents of the Config directoy under PackageRoot that contains an 
        independently-updateable and versioned set of custom configuration settings for your service. -->
    <ConfigPackage Name="Config" Version="1.0.0" />
    <Resources>
        <Endpoints>
        <!-- This endpoint is used by the communication listener to obtain the port on which to 
            listen. Please note that if your service is partitioned, this port is shared with 
            replicas of different partitions that are placed in your code. -->
        <Endpoint Name="ServiceEndpoint" />
        </Endpoints>
    </Resources>
    
  5. 现在删除ServiceManifest.xml

  6. 重建
  7. 我期望在构建时重新创建ServiceManifest.xml。如果对StatefulService执行上述步骤,则会得到相同的结果。但是,如果您为ActorService执行此操作 - 将完全重新生成ServiceManifest.xml。

    如果未在ServiceManifest和ApplicationManifest中定义StatelessService,则不会部署该服务。

    这似乎可能是一个错误,有没有人遇到过这个并有解决方案?

1 个答案:

答案 0 :(得分:0)

我在添加新Actor方面遇到了类似的问题。 在我的情况下,在添加新的Actor服务之后,我必须首先构建解决方案,然后再对其进行任何更改。