【问题标题】:Starting an executable file in an Azure worker role: path problems在 Azure 辅助角色中启动可执行文件:路径问题
【发布时间】:2011-11-24 10:51:59
【问题描述】:

我尝试将可执行文件添加到我的 Azure 辅助角色并从代码中调用它。但我不能 100% 确定路径的外观。 我将 Visual Studio 中的可执行文件添加到我的辅助角色项目中,设置为内容并始终复制。 在我的工人角色中,我打电话给

Process.Start(Path.Combine(Environment.GetEnvironmentVariable("RoleRoot"), "Executable.exe"));

这会导致

AppDomain Unhandled Exception 异常:系统找不到 指定的文件 System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo) [...] 在 System.Threading.ThreadHelper.ThreadStart()

我的天蓝色项目的名称是“AzureProject”,我的工作角色名称是“QueueWorker”,可执行文件“Executable.exe”。我想路径是错误的。

【问题讨论】:

    标签: .net azure azure-worker-roles


    【解决方案1】:

    路径有问题,你是对的。以下是您可能需要检查的几件事:

    • 作为项目一部分的可执行文件的“复制到输出”属性必须设置为“copy alywas
    • 尝试在 path.combine 中的 RoleRoot 之后和“Executable.exe”之前添加 @"\approot"。
    • 您还可以尝试从 Assembly.GetExecutingAssembly().Location 获取可执行文件位置 - 这将为您提供工作角色的程序集路径,您的可执行文件也应该驻留在该位置。只是不要在 WebRole 中使用这种方法,它在那里有不同的含义(临时 asp.net 文件)。

    【讨论】:

    • 谢谢,它适用于 Process.Start(Path.Combine(Environment.GetEnvironmentVariable("RoleRoot") + @"\", @"approot\Executable.exe"));
    猜你喜欢
    • 2013-02-15
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 2015-04-20
    • 2011-08-21
    相关资源
    最近更新 更多