如何将外部(打包的)Service Fabric 服务添加到应用程序清单
How to add an external (packaged) Service Fabric Service to Application Manifest
我们想要获取打包到通用包中的一堆外部 Service Fabric 服务。
要下载这些服务,我必须使用 vsts cli
- 下载后,我可以在我下载的位置看到 ServiceManifest.xml
和 Code / Config
文件夹。我现在想将它们作为某种外部服务添加到我的清单中。
我应该如何修改 ApplicationManifest.xml
以便添加这些服务?
在 ApplicationManifest.xml
的 <ServiceManifestImport>
节点内,您应该添加对您希望在应用程序中拥有的每个服务的引用。
<ServiceManifestImport>
<ServiceManifestRef ServiceManifestName="ServicePkg" ServiceManifestVersion="1.0.0" />
<ConfigOverrides />
</ServiceManifestImport>
这里有两件重要的事情需要理解:
虽然通常 ServiceManifest.xml
包含从设计角度定义的单个服务 ServiceManifest.xml
描述了一个 so-called 服务包 .这个服务包就是ApplicationManifest.xml
.
里面引用的东西
ServiceManifestName
属性的值是ServiceManifest.xml
的名称。 ServiceManifest.xml
名称是使用 ServiceManifest/@Name
属性在其中定义的。同时 ServiceManifestName
属性定义了相对于 ApplicationManifest.xml
位置的目录名称,其中 ServiceManifest.xml
、Code
、Config
和其他文件夹所在。
这是一个简单的例子
假设您 assemble 在 C:\MyPackage
目录中有一个包,并且您想要使用在 ServiceManifest.xml
.
中具有 Service1
名称的外部服务
- 您要做的第一件事是将此服务添加到
ApplicationManifest.xml
<ServiceManifestImport>
<ServiceManifestRef ServiceManifestName="Service1" ServiceManifestVersion="1.0.0" />
<ConfigOverrides />
</ServiceManifestImport>
- 现在您将
ApplicationManifest.xml
复制到 C:\MyPackage
目录。
- 然后创建一个
C:\MyPackage\Service1
目录并将ServiceManifest.xml
、Code
等复制到C:\MyPackage\Service1
.
- 为了确保一切正常,您执行 PowerShell cmdlet
Test-ServiceFabricApplicationPackage C:\MyPackage
希望这对您有所帮助。
我们想要获取打包到通用包中的一堆外部 Service Fabric 服务。
要下载这些服务,我必须使用 vsts cli
- 下载后,我可以在我下载的位置看到 ServiceManifest.xml
和 Code / Config
文件夹。我现在想将它们作为某种外部服务添加到我的清单中。
我应该如何修改 ApplicationManifest.xml
以便添加这些服务?
在 ApplicationManifest.xml
的 <ServiceManifestImport>
节点内,您应该添加对您希望在应用程序中拥有的每个服务的引用。
<ServiceManifestImport>
<ServiceManifestRef ServiceManifestName="ServicePkg" ServiceManifestVersion="1.0.0" />
<ConfigOverrides />
</ServiceManifestImport>
这里有两件重要的事情需要理解:
虽然通常
ServiceManifest.xml
包含从设计角度定义的单个服务ServiceManifest.xml
描述了一个 so-called 服务包 .这个服务包就是ApplicationManifest.xml
. 里面引用的东西
ServiceManifestName
属性的值是ServiceManifest.xml
的名称。ServiceManifest.xml
名称是使用ServiceManifest/@Name
属性在其中定义的。同时ServiceManifestName
属性定义了相对于ApplicationManifest.xml
位置的目录名称,其中ServiceManifest.xml
、Code
、Config
和其他文件夹所在。
这是一个简单的例子
假设您 assemble 在 C:\MyPackage
目录中有一个包,并且您想要使用在 ServiceManifest.xml
.
Service1
名称的外部服务
- 您要做的第一件事是将此服务添加到
ApplicationManifest.xml
<ServiceManifestImport> <ServiceManifestRef ServiceManifestName="Service1" ServiceManifestVersion="1.0.0" /> <ConfigOverrides /> </ServiceManifestImport>
- 现在您将
ApplicationManifest.xml
复制到C:\MyPackage
目录。 - 然后创建一个
C:\MyPackage\Service1
目录并将ServiceManifest.xml
、Code
等复制到C:\MyPackage\Service1
. - 为了确保一切正常,您执行 PowerShell cmdlet
Test-ServiceFabricApplicationPackage C:\MyPackage
希望这对您有所帮助。