Visual c++ 如果依赖项目失败,则阻止项目生成

Visual c++ 如果依赖项目失败,则阻止项目生成,visual-c++,msbuild,Visual C++,Msbuild,我有一个VS2010解决方案,其中包括一个自定义项目。该项目使用同一解决方案中构建的所有库和可执行文件构建安装程序。这是第三方安装程序生成器,不是本机Visual Studio安装程序项目。它在项目的生成后事件中运行自定义命令 此设置的问题是,即使其他项目生成失败,安装程序项目生成也会运行(并成功!) 我添加了项目依赖项,因此安装程序项目依赖于所有其他项目,但毫无用处。我还尝试添加具有相同结果的项目引用 这只会发生在这个特定的项目中(可能是因为它是一个配置类型为“utility”的自定义项目)。

我有一个VS2010解决方案,其中包括一个自定义项目。该项目使用同一解决方案中构建的所有库和可执行文件构建安装程序。这是第三方安装程序生成器,不是本机Visual Studio安装程序项目。它在项目的生成后事件中运行自定义命令

此设置的问题是,即使其他项目生成失败,安装程序项目生成也会运行(并成功!)

我添加了项目依赖项,因此安装程序项目依赖于所有其他项目,但毫无用处。我还尝试添加具有相同结果的项目引用

这只会发生在这个特定的项目中(可能是因为它是一个配置类型为“utility”的自定义项目)。如果依赖项目未能生成,则其他项目不会开始生成

这是一个危险的局面。开发人员可能不会注意其他项目中的构建失败,而是使用构建错误的安装程序。如果其他项目失败,我需要MSVC跳过构建安装程序项目

我该怎么处理呢


理想情况下,这应该在MSVC级别解决。我不想在installer build命令中添加自定义检查,因为这意味着我必须在两个不同的位置维护项目/目标列表。我也不想在图片中添加其他工具。

不要太依赖安装程序项目,该功能在5年前从VS中删除。不是因为他们工作得那么好。一般来说,应该有一个合理的期望,即它们仅配置为在发布版本中生成,发布版本是无故障的,因为调试版本已经过彻底测试,并且签署安装程序的人员只需花费最小的努力来检查安装程序是否工作。不必比这更复杂。@HansPassant这是一个运行围绕第三方产品构建的自定义安装程序生成器的项目,而不是原生VS安装程序项目。很抱歉造成混淆。@HansPassant一个项目有一个正常的调试版本和一个失败的发布版本,这也不是我们想要的那么少见。在这种情况下,安装程序可以正常工作,产品也可以立即正常工作,但随后由于缺少文件而失败。