2010-04-08 195 views

回答

10

是的,我一般就这么做所有的时间。正如Harry所说,它减少了磁盘空间的使用。这对我来说并不是什么大问题,因为磁盘空间非常便宜,但它可能会成为您的担忧。我这样做的真正原因是为了更好地反映部署的外观。最好的办法是有一个property sheet,它将输出目录修改为$(SolutionDir)/build/bin。在此之后,我将工作目录设置为$(SolutionDir)/build,这是与将要部署的完全相同的整个结构,而不是在各个项目目录之间展开。总的来说,为构建事物(而不是源代码)提供一个独立的目录是一件好事。它简化了编写自定义生成步骤,因为你知道那里的总产量会,并简化集成与你的版本控制系统,因为你可以将其设置为忽略整个目录,而不是绕来绕去的所有.exe设置ignore.lib.so.dll以及任何一个小目录。

+0

正如一个音符,我真正的一点是更多有关Visual Studio正在采取相同的文件复制周围复杂的依赖关系的时间 - 的磁盘空间量是种辅助。但我想我的答案措辞给了每个人同样的重量。 – 2010-04-15 00:28:34

2

主要的原因我改变我的输出目录是削减重复的组件数量和文件副本的Visual Studio必须做出的数量。如果项目A引用项目B,项目C引用项目A和B,则Studio必须构建A,将A复制到B并构建B,然后将A和B复制到C并构建C.现在,您有3个副本A,程序集B的两个副本,以及一个C.将输出指向单个目录,Visual Studio只需构建A,然后B,然后C。随着项目数量和依赖关系的复杂性增长,您可以想象一个构建会消耗多少磁盘空间和时间。

0

作为一个例子我有一个应该与“其他”程序被分发的updater.exe。所以我将构建路径设置为“其他”程序构建路径。这样我知道我总是有最新的“updater.exe”它应该在哪里。

那只是一个原因。