我有一个MSBuild文件,它使用项目批处理将一堆文件发送到任务中。目标使用项目向量进行输入和输出。
当我从命令行运行msbuild时(我运行make然后盲目地调用msbuild),msbuild几乎立即检查时间戳并跳过任务执行(无需构建)。
当我从Visual Studio调用make(make然后盲目调用msbuild)时,时间戳比较大约需要20秒。
有什么想法吗?发生了什么事?
我的msbuild文件如下所示:
<!-- All items have metadata and look like this -->
<MyItem Include="Ignored">
<Out>SomeFile.cpp</Out>
<Src>SomeFile.xml</Src>
<Tem>SomeFile.xyz</Tem>
<Mod />
</MyItem>
<!-- My main target looks like this -->
<Target Name="GenerateCode"
Outputs="@(MyItem->'%(Out)')"
Inputs="@(MyItem->'%(Src)');@(MyItem->'%(Tem)');@(MyItem->'%(Mod)')"
DependsOnTargets="CreateOutputDirs">
<!-- ... -->
</Target>
答案 0 :(得分:0)
看起来当VS调用工具时,它不会传递所有环境变量和sdk路径。 VS最终调用MSBuild 2.0而不是3.5
答案 1 :(得分:0)