我有一个需要访问共享驱动器(Azure 文件)的 guest 可执行文件。我的 guest 可执行文件是在 ServiceManifest.xml 中设置的。我尝试添加一个启动“mysetup.bat”文件,该文件包含 NET USE 命令,用于设置与我的 Azure 文件共享的连接。但是,我收到以下模糊错误:
Error event: SourceId='System.Hosting', Property='CodePackageActivation:Code:SetupEntryPoint'. There was an error during CodePackage activation.The service host terminated with exit code:1
以前有人尝试过吗?或者至少有什么关于如何获取比 super 有用的“退出代码:1”更多信息的提示?
最佳答案
SetupEntryPoint 是启动启动任务的正确位置。但是,根据您的启动任务,您可能需要在 ApplicationManifest.xml 中指定 RunAsPolicy。
这是我所做的:
创建了一个名为“setup.bat”的 BAT 文件,并将其添加到我的 guest 可执行代码文件夹中。在此 setup.bat 文件中,我正在执行 NET USE 语句以将网络驱动器映射到 Azure 文件共享文件夹。
我添加了这个:
<SetupEntryPoint>
<ExeHost>
<Program>setup.bat</Program>
<Arguments></Arguments>
</ExeHost>
</SetupEntryPoint>
到 ServiceManifest 节点。
<Policies>
<RunAsPolicy CodePackageRef="Code" UserRef="SetupAdminUser" EntryPointType="All" />
</Policies>
进入ServiceManifestImport节点...
然后添加以下内容
<Principals>
<Users>
<User Name="SetupAdminUser">
<MemberOf>
<SystemGroup Name="Administrators" />
</MemberOf>
</User>
</Users>
</Principals>
进入 ApplicationManifest 中的 DefaultServices 节点之后。重要的是,Principals 节点位于 DefaultServices 节点之后。不知道为什么,但这将导致无法将应用程序部署到您的集群。
关于azure - Service Fabric 设置入口点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41811432/