在VS安装项目中,如何从MSI中排除项目的依赖项?

时间:2009-11-21 17:54:46

标签: visual-studio installation ilmerge

我在C#工作。我有一个包含4个项目的小型VS解决方案:

  1. 一个DLL
  2. 引用DLL的EXE
  3. 一个合并项目,它只对前两个步骤中的程序集进行ILMerge
  4. 一个安装项目,它打包Merge项目的.EXE输出。 (我已将“项目的主要输出”添加到设置中,在此处指定合并项目)
  5. 问题是,安装项目会自动检测项目#1和#2作为项目#3的依赖项。当我将第三个项目的主要输出包含到MSI(安装项目)中时,也会自动拖入依赖项。我不想要这个。

    我该如何阻止它?

    我尝试指定“排除过滤器”,但无法使其工作。无论我尝试什么,依赖性总是被拖入。

    alt text

    我尝试手动修改Setup.vdproj,删除自动检测到的依赖项目,但是当我在VS中重新加载.vdproj时,自动检测到的依赖项又回来了。

    帮助?

2 个答案:

答案 0 :(得分:11)

我讨厌这种情况发生时。在我问了这个问题后3分钟,我想出来了。

您可以右键单击检测到的依赖项,然后在属性窗口中指定“Exclude = True”

alt text

答案 1 :(得分:1)

对我有用的令人敬畏的Cheeso。请注意,如果您的某个项目或子项目获得了新的项目引用,那么该依赖项将出现在安装项目中。你必须意识到这一点,并像你一样排除依赖性。