2012-02-09 104 views
2

我们拥有少数C#项目和一个安装项目的解决方案。整个解决方案绑定到TFS源代码管理(并且整个文件夹结构映射到源代码管理)。阻止Visual Studio 2010安装项目将文件添加到源代码管理

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

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

我们不希望使用主要输出,因为:

  • 设置增添了很大的依赖性
  • 的剔除它们是容易的,但每次我们改变引用什么的时候,安装项目被刷新,发现这样的
  • 我们希望控制哪些文件将与我们的设置被dsitributed无需安装工程的干扰新的依赖什么

有什么想法?

回答

2

对我来说听起来像整个地方不好的做法。

首先,贵公司拥有TFS,Visual Studio 2010,但仍然使用soon-to-be-obsolete Visual Studio部署项目。不管你喜欢与否,迟早你都会转向WiX。

如果你或你的利益相关者仍然坚持vdproj,为什么从GAC引用你自己的程序集?初级输出远非完美,但它在开发机器上胜过GAC。 GAC在运行时,而不是设计时间©

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

+0

我们刚刚迁移到VS2010(而在VS2008上一切正常)。我不知道即将过时的部署项目,谢谢。我们的程序集必须转到GAC,因为它们被我们的自定义SQL Server SSIS组件使用,因此它们必须位于GAC中。项目输出不是一个选项,因为它找到了太多不需要的依赖关系,并且对其中的一些排除了= false。 ClickOnce不是一个选项,因为它不能在GAC中存储程序集。我会看看WiX。投注了有用的信息。 – 2012-02-10 12:43:06

+0

将您的帖子标记为答案,因为无法实现我尝试实现的目标,并且您对坏习惯有很好的观点。 – 2012-02-21 16:06:41

+1

[“对于正确的问题,通常含糊不清的答案要好得多,而不是对错误问题的确切答案,而答案总是可以精确的。”](http://en.wikipedia.org/wiki/John_Tukey #Quotes) - John Tukey – KMoraz 2012-02-21 21:10:11

相关问题