我正在尝试创建启动脚本以在运行Fabric Service之前注册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文件吗?
答案 0 :(得分:1)
问题:我在哪里放置Startup.bat文件?
您可以在项目的根目录中添加Startup.bat文件。在Visual Studio中,启动批处理文件的复制到输出目录属性应设置为始终复制。更多详细信息,请参阅屏幕截图。
它可以是powershell脚本文件而不是.bat文件吗?
根据我的测试,Windows PowerShell脚本无法直接调用,但可以从启动批处理文件中调用它。 PowerShell(默认情况下)不运行未签名的脚本。除非您对脚本进行签名,否则需要配置PowerShell以运行未签名的脚本。要运行未签名的脚本,必须将ExecutionPolicy设置为Unrestricted。
PowerShell -ExecutionPolicy Unrestricted .\startup.ps1 >> "c:\tom\startup.txt" 2>&1
服务清单文件:
<SetupEntryPoint>
<ExeHost>
<Program>Startup.bat</Program>
</ExeHost>
</SetupEntryPoint>