我正在尝试创建一个启动脚本来在运行 Fabric 服务之前注册 DLL。我找到这篇文章https://learn.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?
根据我的测试,Windows PowerShell 脚本无法直接调用,但可以从启动批处理文件中调用。 PowerShell(默认情况下)不运行未签名的脚本。除非您对脚本进行签名,否则您需要配置 PowerShell 来运行未签名的脚本。要运行未签名的脚本,必须将 ExecutionPolicy 设置为 Unrestricted。
PowerShell -ExecutionPolicy Unrestricted .\startup.ps1 >> "c:\tom\startup.txt" 2>&1
服务 list 文件:
<SetupEntryPoint>
<ExeHost>
<Program>Startup.bat</Program>
</ExeHost>
</SetupEntryPoint>
关于c# - Azure Fabric 服务中的启动任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47757010/