我们有一个包含几个 C# 项目和一个安装项目的解决方案。整个解决方案绑定(bind)到 TFS 源代码管理(并且整个文件夹结构映射到源代码管理)。
所有项目都具有相同的输出文件夹 - 父文件夹映射到源代码管理,但输出文件夹未添加到源代码管理。
安装项目设置为将特定程序集从输出文件夹添加到 GAC(文件系统编辑器 -> 添加 -> 程序集 -> 浏览)。 Visual Studio 会自动将这些程序集添加到源代码管理中。由于这些程序集是我们的项目,我们不希望它们处于源代码管理中,因为它们会在每次构建时重新生成。
我们不想使用主要输出,因为:
- 安装程序添加了大量依赖项
- 排除它们很容易,但每次我们更改引用或其他内容时,安装项目都会刷新,找到新的依赖项或类似内容
- 我们希望控制通过我们的设置分发哪些文件,而不会干扰设置项目
有什么想法吗?
最佳答案
在我看来,到处都是不好的做法。
首先,您的公司拥有 TFS、Visual Studio 2010,但仍在使用 soon-to-be-obsolete Visual Studio 部署项目。无论喜欢与否,您迟早都会迁移到 WiX。
如果您或您的利益相关者仍然坚持使用 vdproj,为什么要引用 GAC 的您自己的程序集?主要输出远非完美,但它在您的开发机器上胜过 GAC。 运行时而非设计时的 GAC ©
最后,即使出于某种原因您仍然想引用自己的二进制文件,也可以从源代码管理中保存的通用 lib 文件夹而不是 GAC 中进行操作。
关于visual-studio-2010 - 防止 Visual Studio 2010 安装项目将文件添加到源代码管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9210184/