Microsoft Azure启动任务未执行

凯尔·B。

我在Web项目的根目录中有一个简单文件(该文件与Web Worker角色相关联)。该文件名为Startup.cmd该文件包含以下行:dir > directory.txt当我从命令行运行它时,它会正确执行,并将目录内容的列表输出到directory.txt您期望的名为文件的文件中同样,该行ECHO Write this line to file > output.txt也不起作用。

ServiceDefinition.csdef我的Azure Cloud Service项目的内部,有以下几行:

<WebRole name="Website" vmsize="Small">
    <Startup>
        <Task commandLine="Startup.cmd" executionContext="elevated" taskType="simple"></Task>
    </Startup>
    ....
</WebRole>

我相信它正在查找文件,因为我尝试更改路径,它将抛出无法找到它的生成错误。问题是,/bin/在调试到Azure调试环境后检查目录,看到了Startup.cmd(已将其设置为Copy always),但是没有看到directory.txt我不确定另一种方法来确认它是否正确执行。

凯尔·B。

我发现以下MSDN文章很有用:http : //msdn.microsoft.com/en-us/library/hh180155.aspx

结果,我对Startup.cmd文件进行了一些更改我将命令更改为:

ECHO The current version is %MyVersionNumber% >> "%TEMP%\StartupLog.txt" 2>&1
EXIT /B 0

但是,这似乎并未将输出放入系统的临时目录中C:\Users\username\AppData\Local\Temp我将假定这是因为Azure Compute Emulator使用了一个我不知道的临时目录。

我更改Startup.cmd为:

ECHO The current version is %MyVersionNumber% >> "c:\temp\StartupLog.txt" 2>&1
EXIT /B 0

并将我的配置更新为:

<WebRole name="Website" vmsize="Small">
  <Startup>
      <Task commandLine="Startup.cmd" executionContext="elevated" taskType="simple">
          <Environment>
              <Variable name="MyVersionNumber" value="1.0.0.0" />
              <Variable name="ComputeEmulatorRunning">
                  <RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated" />
              </Variable>
          </Environment>
      </Task>
  </Startup>
  ...
</WebRole>

这似乎确实C:\temp\在启动调试器时将文件写入其中

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章