以下两段是背景 - 他们只是解释为什么我需要做这样一个奇怪的事情。如果你不在乎,你可以跳过它直接回答问题。
我是Vim的用户,我开始学习C#。当然,我想使用MSBuild作为我的makeprg。我想绑定热键进行常见的开发操作 - Build,Clean和运行。由于我想在全球设置我的热键,因为每个项目中的文件名称都不相同,所以我遇到了一个问题。使MSBuild的Exec任务显示交互式外壳
在GCC/MinGW中,这个问题可以很容易解决 - 因为我已经将重要的文件名存储在变量中,我可以简单地添加到makefile目标以清除构建并运行程序,然后将热键绑定到“:make!Clean”和“:make!Run”。所以我想我可以用MSBuild目标做同样的事情。它适用于清洁删除标记(不知道我真的需要在.NET中清洁,但你知道 - 习惯的力量),但我有一个问题运行。
现在,这是我的问题:与GCC/MinGW的makefile不同,它们只是运行shell命令的简单批处理文件,MSBuild使用它自己的一组命令并在内部运行它们。这意味着Exec任务运行程序时不需要shell - 我可以打开windows,但是我不能用它来测试交互式shell程序。
有没有什么办法可以说服MSBuild给我一个交互式shell?
它的工作原理!我必须在文件名之前删除反斜杠(显然PathTo变量已经有一个反斜杠),并且我还添加了一个命令,在shell关闭之前等待按键。我结束了这个: null & exit "”/> –
2011-06-15 19:49:12