我有一个vcproj文件,其中包含一个简单的预构建事件,类似于:
Helpertask.exe $(ProjectDir)
这在开发者电脑上运行良好,但是当解决方案在我们的TFS 2008构建服务器上使用MSBuild构建时,$(ProjectDir)要么为空,要么指向服务器上不相关的文件夹!
到目前为止,我设法找到的最佳解决方法是硬编码开发者和服务器路径:
if exist C:\DeveloperCode\MyProject HelperTask.exe C:\DeveloperCode\MyProject
if exist D:\BuildServerCode\MyProject HelperTask.exe D:\BuildServerCode\MyProject
这个技巧适用于后构建步骤,但不适用于前构建步骤(在MSBuild下,预构建任务现在根本不起作用!)。你有任何修复或解决方法吗?我已经几乎没有头发了!
ProjectDir
,那么您将如何指定相对于ProjectDir
的目标Inputs
和Outputs
? - John Leidegren