【问题标题】:In a VS Setup project, how can I exclude the dependencies of a project from the MSI?在 VS Setup 项目中,如何从 MSI 中排除项目的依赖项?
【发布时间】:2009-11-21 17:54:45
【问题描述】:

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

  1. 一个 DLL
  2. 一个引用 DLL 的 EXE
  3. 一个合并项目,它只对前两个步骤中的程序集执行 ILMerge
  4. 一个安装项目,它打包了 Merge 项目的 .EXE 输出。 (我已将“项目的主要输出”添加到设置中,并在此处指定合并项目)

问题是,安装项目会自动检测项目#1 和#2 作为项目#3 的依赖项。当我将第三个项目的主要输出包含到 MSI(安装项目)中时,依赖项也会自动拖入。我不想要这个。

我该如何阻止它?

我尝试指定“排除过滤器”,但无法正常工作。不管我怎么尝试,依赖总是被拖进来。

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

帮助?

【问题讨论】:

    标签: visual-studio installation ilmerge


    【解决方案1】:

    我讨厌这种情况发生。我问这个问题后 3 分钟就明白了。

    你可以在检测到的依赖项上右击,在属性窗口中,指定“Exclude = True”

    【讨论】:

    • 但是可以完全去掉吗?
    【解决方案2】:

    对我有用的很棒的奶酪。请注意,如果您的项目或子项目之一获得新的项目引用,那么该依赖关系将出现在安装项目中。您必须意识到这一点并像您所做的那样排除依赖关系。

    【讨论】:

    • 并且一些依赖在切换构建配置时会保持自我启用:(
    猜你喜欢
    • 2018-10-18
    • 1970-01-01
    • 2011-12-15
    • 2018-02-11
    • 1970-01-01
    • 2012-12-05
    • 2019-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多