我创建了一个带有普通无状态服务和无状态 ASP.NET Core Web 应用程序的 Service Fabric 应用程序。在不更改任何默认代码的情况下,我尝试部署应用程序。在部署过程中发生错误:
Register-ServiceFabricApplicationType :
C:\SfDevCluster\Data\ImageBuilderProxy\AppType\AadMockApplicationType 中应用程序的 BuildLayout 无效。服务
TenantWebServerPkg 缺少代码。
检查我的包后,我注意到包不包含代码,而只包含服务清单文件和配置包:
我的 Web 应用程序服务清单:
<?xml version="1.0" encoding="utf-8"?>
<ServiceManifest Name="TenantWebServerPkg"
Version="1.0.0"
xmlns="http://schemas.microsoft.com/2011/01/fabric"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ServiceTypes>
<!-- This is the name of your ServiceType.
This name must match the string used in RegisterServiceType call in Program.cs. -->
<StatelessServiceType ServiceTypeName="TenantWebServerType" />
</ServiceTypes>
<!-- Code package is your service executable. -->
<CodePackage Name="Code" Version="1.0.0">
<EntryPoint>
<ExeHost>
<Program>TenantWebServer.exe</Program>
<WorkingFolder>CodePackage</WorkingFolder>
</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 Protocol="http" Name="ServiceEndpoint" Type="Input" Port="8396" />
</Endpoints>
</Resources>
</ServiceManifest>
尝试了几个小时后,我注意到代码包已发布到不同的文件夹:C:\Users\username\AppData\Local\Temp\PublishTemp\TenantWebServer118
如何正确打包 Web 应用程序以便包含代码包?