c# - Azure Fabric 服务中的启动任务

标签 c# azure batch-file azure-service-fabric

我正在尝试创建一个启动脚本来在运行 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

enter image description here

服务 list 文件:

<SetupEntryPoint>
   <ExeHost>
        <Program>Startup.bat</Program>
    </ExeHost>
</SetupEntryPoint>

enter image description here

关于c# - Azure Fabric 服务中的启动任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47757010/

相关文章:

windows - 无法从另一个内部调用 .bat 文件 - "not recognized as an internal or external command"错误

c# - BindToMoniker 打开一个新的 excel session

c# - 使用 AngleSharp 解析 CSS

azure - 使用服务主体授权访问 Azure

python - 在 Windows 上的 os.system 中转义双引号

windows - 在 Windows 7 中查找子文件夹中的文件总数

c# - linq2db 为进入/来自数据库的字段指定自定义转换以转换为/来自特定 C# 类型

c# - 应用外观模式的最佳实践

azure - 尝试从 azure devops 推送到 azure 容器注册表时请求访问被拒绝

Azure - 将站点部署到目录但使用子目录作为站点