Visual Studio预构建事件是否可以在编译开始之前完成?

时间:2010-01-04 00:44:48

标签: visual-studio visual-studio-2008 linq-to-sql code-generation batch-file

我在Visual Studio中使用预构建事件来运行执行某些代码生成的批处理(.bat)文件(具体来说,我正在运行SqlMetal.exe来生成LinqToSql代码)。

批处理文件是否可以在编译开始之前完成?或者它是否异步运行批处理?

结论:我想确保编译新代码,而不是旧代码。

如果不能保证 - 有哪些解决方案?

2 个答案:

答案 0 :(得分:6)

是。但请注意,如果预构建中有多个步骤,则只会检查最后一步是否有错误。有关详细信息,请参阅Gotcha! Visual Studio Pre/Post-Build Events

答案 1 :(得分:3)

批处理文件只有在启动过程完成后才会完成,除非您在批处理文件中使用 start 命令。作为一个简单的测试,您可以像这样创建一个批处理文件:

notepad.exe

并将其设置为您的预构建事件。您将看到只有在关闭记事本后才开始构建。