2016-08-26 4 views
5

내 솔루션에 Stateless Service Fabric 프로젝트를 추가하고 Web API 자체 호스트로 설정했습니다. Visual Studio에서 추가 한 파일에서 아무 것도 건드리지 않았습니다. 약간 잘못 만들어진 유일한 점은 솔루션 파일에 힘내 병합 오류가있어서 프로젝트를 수동으로 다시 추가해야하기 때문입니다. 다음과 같이서비스 패브릭 배포 오류 : 서비스 용 ServiceManifest.xml이 누락되었습니다.

프로젝트의 이름은 다음과 같습니다

  • 프로젝트 이름/sfproj : ClientCore.CommandStackApi.Deploy
  • 서비스 이름/csproj : ClientCore.CommandStackApi

내가 배포하려고, I 다음 오류가 발생합니다.

The BuildLayout of the application in C:\SfDevCluster\Data\ImageBuilderProxy\AppType\ClientCore.CommandStackApi.DeployType is invalid. ServiceManifest.xml is missing for service ClientCore.CommandStackApiPkg.

파일을 비교할 때 모든 모든 서비스 패브릭 프로젝트가 다 잘된 것처럼 생각할 수도 있지만 서비스 매니페스트가 누락되었다고 불평합니다. 내가 주목 한 유일한 것은 SF 프로젝트가 CommandStackApi 프로젝트에 대한 의존성을 잃어 버렸지 만 이것은 아무런 변화가 없었습니다.

나는 두 개의 서로 다른 컴퓨터에서 시도했습니다, 마지막있는, 신선한 등 서비스 패브릭 SDK

나는 모든 프로젝트를 제거하고 다시 모든 것을 설정하면 작동 것 같은데요의 설치했다 MSDN 가이드에서 deploy 패키지와 powershell 스크립트를 만들려고 할 때 일찍이 일이 일어났습니다. 그래서 내가 잘못하고있는 것에 대해 약간의 통찰력을 얻고 싶습니다. 보다 성숙한 프로젝트에이 문제가 발생하면 처음부터 솔루션을 다시 만들고 Visual Studio 블랙 박스 마법 설정을 활용할 수있는 옵션을 갖지 않을 것입니다. 무엇이 잘못되었을 지에 대한 어떤 아이디어라도 감사 할 것입니다.

+0

패키지를 구축하는 방법에 대한 몇 가지 MSDN 문서는 여기 https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-package-apps –

답변

7

그래서 나는 결국 무엇이 잘못되었는지 알아 냈습니다.

파일 및 프로젝트 종속성을 보았지만 서비스 종속성이 누락되었습니다. 두 프로젝트가 병합에 의해 솔루션에서 제거되면 SF 프로젝트가 서비스 참조를 잃어 버렸음에 틀림 없습니다. 이것을 다시 넣으면 문제가 해결됩니다.

+0

이것은 정확히 나에게 일어난 일이다. 이 상황의 문제는 오류 메시지가 무엇이 잘못되었는지에 대한 단서를 제공하지 않는다는 것입니다. –

0

서비스 프로젝트 (.sfproj)에 기존 서비스 패브릭 프로젝트 (.csproj)를 추가 할 때 \ ApplicationPackageRoot \ ApplicationManifest.xml 파일에서 수동으로 두 섹션을 만들어야했습니다.

예 :

<ServiceManifestImport> 
    <ServiceManifestRef ServiceManifestName="Sample.Service.Commander" ServiceManifestVersion="1.0.0" /> 
    <ConfigOverrides> 
    <ConfigOverride Name="Config"> 
     <Settings> 
     <Section Name="EndpointConfigSection"> 
      <Parameter Name="UseDifferentPorts" Value="[StatelessServices_UseDifferentPorts]" /> 
     </Section> 
     </Settings> 
    </ConfigOverride> 
    </ConfigOverrides> 
    <Policies> 
    <EndpointBindingPolicy EndpointRef="OwinEndpoint" CertificateRef="ClusterCert" /> 
    <EndpointBindingPolicy EndpointRef="OwinEndpoint0" CertificateRef="ClusterCert" /> 
    <EndpointBindingPolicy EndpointRef="OwinEndpoint1" CertificateRef="ClusterCert" /> 
    <EndpointBindingPolicy EndpointRef="OwinEndpoint2" CertificateRef="ClusterCert" /> 
    <EndpointBindingPolicy EndpointRef="OwinEndpoint3" CertificateRef="ClusterCert" /> 
    <EndpointBindingPolicy EndpointRef="OwinEndpoint4" CertificateRef="ClusterCert" /> 
    </Policies> 
</ServiceManifestImport> 

<Service Name="Commander"> 
    <StatelessService ServiceTypeName="CommanderType" InstanceCount="[MyService_InstanceCount]"> 
    <SingletonPartition /> 
    </StatelessService> 
</Service> 
관련 문제