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

dev*_*xer 4 code-generation batch-file visual-studio-2008 linq-to-sql visual-studio

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

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

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

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

Dun*_*yne 7

是.但请注意,如果预构建中有多个步骤,则只会检查最后一步是否有错误.看到了!Visual Studio Pre/Post-Build事件以获取更多信息.


Tar*_*don 5

除非您在批处理文件中使用启动命令,否则批处理文件仅在其启动的进程本身完成后才会完成。作为一个简单的测试,您可以创建一个像这样的批处理文件:

notepad.exe
Run Code Online (Sandbox Code Playgroud)

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