4

可能重复:
Visual Studio 不断构建一切

我有一个项目,其中包含一个 idl 文件,该文件生成一个 .c 文件,该文件包含在同一项目的另一个文件中。

我构建了这个项目,一切都很好,然后我尝试运行该项目,我被告知该项目已过时,我想构建它。如果我选择是来构建它,idl 将再次编译。

有没有办法在不将 VS 项目设置设置为从不提示我进行构建的情况下停止这种情况?

4

1 回答 1

2

一旦您构建了 .idl 文件,打开它的属性并启用“从构建中排除”。

如果您更新文件,您可以通过在解决方案资源管理器中选择文件并选择“编译”来手动构建它(在我的设置中,快捷方式是 Ctrl+F7,但这可能会有所不同)。

如果您没有在版本控制系统中包含生成的文件,则还需要重新签出以手动重建 .idl 文件。这种情况尤其会引起很多混乱 - 可能值得将生成的文件包含在版本控制之下。

另一种选择是创建自定义构建工具(或预构建事件),它将 .idl 文件的最后修改日期/时间与输出文件的最后修改日期/时间进行比较,然后在需要时调用 MIDL。这是 VS 用来确定是否运行 CL 的行为,但它不用于 MIDL,据我所知,无法在 VC++ 2008 项目文件中启用。

于 2011-02-22T09:56:49.320 回答