2016-08-26 8 views
5

私のソリューションにステートレスサービスファブリックプロジェクトを追加し、Web APIの自己ホストとして設定しました。 私はVisual Studioによって追加されたファイルには何も触れていません。わずかに間違っていたのは、ソリューションファイルのGitマージエラーだったので、プロジェクトを手動で再度追加する必要がありました。次のようにサービスファブリックデプロイメントエラー: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.

ファイルを比較すると、すべてのpr私が考えることができる、私の他のサービスファブリックプロジェクトのすべてがうまく見えるが、それはサービスマニフェストが不足していると不満を続けている。私が気づいた唯一の事は、SFプロジェクトがCommandStackApiプロジェクトへの依存を見逃していたことですが、これは何も変わりませんでした。

私は2台の異なるコンピュータ上で試してみた、最後のうち、新鮮等サービスファブリックSDK

私はすべてのプロジェクトを削除し、再びすべてを設定した場合、それは仕事と推測しているのインストールを持っていましたMSDNのガイドから正確に展開パッケージとPowerShellスクリプトを作成しようとしたときに、これも以前に起こったので、私が間違っていることについてのいくつかの洞察が本当に好きです。これがより成熟したプロジェクトになった場合、ソリューションを最初から作り直し、舞台裏でやっていなければならないVisual Studioのブラックボックスマジックセットアップに触れることはできません。何が間違っているのかについては、どんなアイディアも高く評価されます。

+0

パッケージをビルドする方法についていくつかのMSDNのドキュメントはこちらhttps://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-package-apps –

答えて

7

だから私は最終的に何が間違っているかを考え出した。

私はファイルとプロジェクトの依存関係を見ていましたが、サービスの依存関係が見当たりませんでした。 2つのプロジェクトがマージによってソリューションから削除されたとき、SFプロジェクトはサービス参照を失っているに違いありません。この問題を修正して追加し直してください。

+0

これはまさに私に起こったことです。この状況での問題は、エラーメッセージが何が間違っているかについて何の手がかりも与えないことです。 –

0

サービスプロジェクト(.sfproj)に既存のサービスファブリックプロジェクト(.csproj)を追加したとき、\ ApplicationPackageRoot \ ApplicationManifest.xmlファイルに2つのセクションを手動で作成する必要がありました。

例:

<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> 
関連する問題