【问题标题】:Prevent Visual Studio 2010 Setup Project adding files to source control防止 Visual Studio 2010 安装项目将文件添加到源代码管理
【发布时间】:2012-02-10 20:47:49
【问题描述】:

我们有一个包含几个 C# 项目和一个设置项目的解决方案。整个解决方案绑定到 TFS 源代码控制(并且整个文件夹结构映射到源代码控制)。

所有项目都有相同的输出文件夹 - 父文件夹映射到源代码管理,但输出文件夹未添加到源代码管理。

设置项目设置为将特定程序集从输出文件夹添加到 GAC(文件系统编辑器 -> 添加 -> 程序集 -> 浏览)。 Visual Studio 会自动将这些程序集添加到源代码管理中。由于这些程序集是我们的项目,我们不希望它们在源代码管理中,因为它们在每次构建时都会重新生成。

我们不想使用主输出,因为:

  • 安装程序添加了很多依赖项
  • 排除它们很容易,但是每次我们更改引用或其他内容时,设置项目都会刷新,找到新的依赖项或类似的东西
  • 我们希望控制将通过我们的设置分发哪些文件,而不会干扰设置项目

有什么想法吗?

【问题讨论】:

    标签: visual-studio-2010 tfs setup-project


    【解决方案1】:

    在我看来,整个地方都是不好的做法。

    首先,您的公司拥有 TFS、Visual Studio 2010,但仍在使用 soon-to-be-obsolete Visual Studio 部署项目。不管你喜不喜欢,你迟早会迁移到 WiX。

    如果您或您的利益相关者仍然坚持使用 vdproj,为什么要参考 GAC 的您自己的程序集?主要输出远非完美,但它在您的开发机器上胜过 GAC'ing。 GAC 在运行时,而不是设计时 ©

    最后,即使出于某种原因您仍想引用自己的二进制文件,请从保存在源代码管理中的公共 lib 文件夹而不是 GAC 中执行此操作。

    【讨论】:

    • 我们刚刚迁移到 VS2010(而在 VS2008 上一切正常)。我不知道即将过时的部署项目,谢谢。我们的程序集必须转到 GAC,因为它们由我们的自定义 SQL Server SSIS 组件使用,因此它们必须在 GAC 中。项目输出不是一个选项,因为它发现了太多不需要的依赖项,并且对其中一些保持 exclude=false。 ClickOnce 不是一个选项,因为它不能在 GAC 中存储程序集。我将看看WiX。为有用的信息投票。
    • 将您的帖子标记为答案,因为无法实现我试图实现的目标,而且您对不良做法有很好的看法。
    猜你喜欢
    • 1970-01-01
    • 2017-12-07
    • 1970-01-01
    • 2011-11-20
    • 2016-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多