这是一个简单的问题,当您使用启动任务时,您需要将cmd行放在bin文件夹中。
所以如果我不想把它们放在bin文件夹中如果我想把它放在解决方案文件夹中我应该怎么做。
答案 0 :(得分:2)
启动任务的执行路径不可配置,并且在某些预编译的环境dll中正确设置。对于Web角色,它设置为“approot \ bin”,为Worker角色设置为“approot”。
我不知道这是不是很好的做法而不是推荐它,但我也对它进行了一些研究并发现,你可以用相对文件夹路径定义启动任务:
<Task commandLine="../init-bla.cmd" executionContext="elevated" taskType="background" />
这将从approot运行init-bla.cmd。但要注意:cmd的上下文保留在bin文件夹中。
例如,如果要将某些内容输出到文件或调用另一个文件,则必须了解执行上下文。此示例代码将output.txt文件创建到bin文件夹中,尽管它从approot运行。
@echo off
ECHO I_WAS_CALLED_ON_STARTUP >> output.txt
EXIT /B 0