Azure service fabric 服务结构部署错误:服务缺少ServiceManifest.xml
我已将无状态服务结构项目添加到解决方案中,并将其设置为Web Api自宿主。 在VisualStudio添加的任何文件中,我都没有涉及任何内容。唯一稍微出错的是解决方案文件上的Git合并错误,导致我不得不再次手动添加项目 项目名称如下:Azure service fabric 服务结构部署错误:服务缺少ServiceManifest.xml,azure-service-fabric,Azure Service Fabric,我已将无状态服务结构项目添加到解决方案中,并将其设置为Web Api自宿主。 在VisualStudio添加的任何文件中,我都没有涉及任何内容。唯一稍微出错的是解决方案文件上的Git合并错误,导致我不得不再次手动添加项目 项目名称如下: 项目名称/sfproj:ClientCore.CommandStackApi.Deploy 服务名称/csproj:ClientCore.CommandStackApi 当我尝试部署时,出现以下错误: 中应用程序的BuildLayout C:\SfDevCl
- 项目名称/sfproj:ClientCore.CommandStackApi.Deploy
- 服务名称/csproj:ClientCore.CommandStackApi
我猜如果我删除所有项目并重新设置所有内容,它会起作用,但这也发生在早些时候,当时我试图完全按照MSDN指南构建部署包和powershell脚本,因此我非常希望了解我可能做错了什么。如果这种情况发生在一个更成熟的项目上,我将无法选择从头开始重新创建解决方案并进入VisualStudio blackbox magic设置,这必须在幕后进行。任何可能出错的想法都将受到欢迎。因此我最终找出了问题所在
我查看了文件和项目依赖项,但遗漏了一个缺少的服务依赖项。当合并将这两个项目从解决方案中删除时,SF项目一定丢失了服务引用。将此添加回解决了问题。当我将现有的Service Fabric项目(.csproj)添加到Service项目(.sfproj)时,我必须在\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>
及
我将服务项目的依赖项添加到fabric项目中,并将其删除和添加到fabric项目中,并且成功了。更改服务名称时也会出现此错误
当servicemanifest
或applicationmanifest
更新失败时。applicationmanifest
必须ServicemanifestRef
准确的文件名
对我来说,文件名中的下划线放错了位置(由于重命名)是破坏者。这里有一些关于如何构建包的MSDN文档(我发现这很有用),这正是发生在我身上的事情。这种情况的问题是,错误消息没有给你任何关于什么是错误的线索。这里没有任何迹象表明他是如何找到丢失的文件的dependency@l--我不明白你的意思。已经有一段时间了,但如果我没记错的话,一个服务结构项目有两种类型的依赖关系。Visual Studio用于生成某些文件(如服务清单)的普通代码依赖项/引用,然后是服务依赖项。在我的例子中,我缺少一个服务依赖项。
<Service Name="Commander">
<StatelessService ServiceTypeName="CommanderType" InstanceCount="[MyService_InstanceCount]">
<SingletonPartition />
</StatelessService>
</Service>