Azure Fabric 服务中的启动任务
Startup task in Azure Fabric Service
我正在尝试创建启动脚本以在 运行 Fabric 服务之前注册 DLL。我发现这篇文章 https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cloud-services-migration-worker-role-stateless-service#startup-tasks 说我需要创建一个 Startup.bat 文件并在 ServiceManifest.xml 文件中配置它。
问题:Startup.bat文件放在哪里?可以是powershell脚本文件而不是.bat文件吗?
Question: where do I put the Startup.bat file?
您可以在项目的根目录中添加 Startup.bat 文件。在 Visual Studio 中,启动批处理文件的 复制到输出目录 属性 应设置为 始终复制 。更多细节可以参考截图。
Can it be a powershell script file instead of .bat file?
根据我的测试,WindowsPowerShell 脚本不能直接调用,但可以从启动批处理文件中调用。
PowerShell(默认情况下)不 运行 未签名的脚本。除非您对脚本进行签名,否则您需要将 PowerShell 配置为 运行 个未签名的脚本。对于 运行 个未签名的脚本,ExecutionPolicy 必须设置为 Unrestricted。
PowerShell -ExecutionPolicy Unrestricted .\startup.ps1 >> "c:\tom\startup.txt" 2>&1
服务清单文件:
<SetupEntryPoint>
<ExeHost>
<Program>Startup.bat</Program>
</ExeHost>
</SetupEntryPoint>
我正在尝试创建启动脚本以在 运行 Fabric 服务之前注册 DLL。我发现这篇文章 https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cloud-services-migration-worker-role-stateless-service#startup-tasks 说我需要创建一个 Startup.bat 文件并在 ServiceManifest.xml 文件中配置它。
问题:Startup.bat文件放在哪里?可以是powershell脚本文件而不是.bat文件吗?
Question: where do I put the Startup.bat file?
您可以在项目的根目录中添加 Startup.bat 文件。在 Visual Studio 中,启动批处理文件的 复制到输出目录 属性 应设置为 始终复制 。更多细节可以参考截图。
Can it be a powershell script file instead of .bat file?
根据我的测试,WindowsPowerShell 脚本不能直接调用,但可以从启动批处理文件中调用。 PowerShell(默认情况下)不 运行 未签名的脚本。除非您对脚本进行签名,否则您需要将 PowerShell 配置为 运行 个未签名的脚本。对于 运行 个未签名的脚本,ExecutionPolicy 必须设置为 Unrestricted。
PowerShell -ExecutionPolicy Unrestricted .\startup.ps1 >> "c:\tom\startup.txt" 2>&1
服务清单文件:
<SetupEntryPoint>
<ExeHost>
<Program>Startup.bat</Program>
</ExeHost>
</SetupEntryPoint>