排除的安装程序项目重复检测到的依赖项再次包括在内

时间:2011-11-17 16:28:09

标签: visual-studio-2008 dependencies setup-project

我们使用Visual Studio 2008遇到以下问题,即使在将重复检测到的依赖项的排除设置设置为true后保存设置项目,重新加载项目后,排除设置也会更改为false。

因此,您必须再次排除检测到的依赖项以获得所需的输出。我们有一个相互依存的120多个项目的巨大解决方案,它们具有大量的dll依赖关系,所以重新改变这些值是很痛苦的。

我简化了下面的情节(轻描淡写)来说明:

项目:

  • PROJECTA - 引用DLL1,DLL2,DLL3
  • PROJECTB - 引用DLL3,DLL4,PROJECTA
  • PROJECTC - 引用DLL2,DLL3,DLL4
  • PROJECT1(设置项目)

    • PROJECTA的主要输出(手动添加)
    • PROJECTB的主要输出(手动添加)
    • (检测到VS自动添加的依赖项)
      • PROJECTA(设置Exclude = True,重新加载后值保持不变)
      • DLL1(设置Exclude = True,重新加载后值保持不变)
      • DLL2(设置Exclude = True,重新加载后值更改回False)
      • DLL2(设置Exclude = True,重新加载后值更改回False)
      • DLL3(无变化,想要包含)
      • DLL3(设置Exclude = True,重新加载后值更改回False)
      • DLL3(设置Exclude = True,重新加载后值更改回False)
      • DLL4(设置Exclude = True,重新加载后值更改回False)
      • DLL4(设置Exclude = True,重新加载后值更改回False)

OUTPUT(对于PROJECT1.msi):

  • 期望的输出:

    • PROJECTA.dll
    • PROJECTB.dll
    • DLL3
  • 当VS将排除设置更改回False时的输出:

    • PROJECTA.dll
    • PROJECTB.dll
    • DLL2
    • DLL3
    • DLL4

这会在运行时导致问题(加上膨胀的安装程序)。

我浏览了网页,但尚未找到适用于我们设置的可行解决方案。过去已经提出了一些问题,所以我想知道是否已有补丁,或者有人有一个新的解决方法可以帮助我们。

除了使用WIX并将所有依赖项的Copy Local设置值设置为false之外,是否有人有解决方案使Visual Studio保留Exclude设置值?

0 个答案:

没有答案