2

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

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

这导致

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

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

4

1 回答 1

5

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

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