有没有很好的理由从默认的“bin \ debug”修改项目的构建输出路径?将所有项目指向公共构建输出位置的解决方案是否有任何好处?
有没有很好的理由从默认的“bin \ debug”修改项目的构建输出路径?将所有项目指向公共构建输出位置的解决方案是否有任何好处?
是的,我通常这样做 每时每刻。正如Harry所说,它减少了磁盘空间的使用。这对我来说真的不是什么大问题,因为磁盘空间非常便宜,但它可能会让你担心。我这样做的真正原因是为了更好地反映部署的外观。这样做的最好方法是拥有一个 物业单 它将输出目录修改为 $(SolutionDir)/build/bin
。在此之后,我将工作目录设置为 $(SolutionDir)/build
,这是整个结构,与部署的相同,而不是在各个项目目录中展开。
build
|-- bin
| |-- foo.exe
| |-- libfoo.dll
| `-- libbar.dll
|-- plugins
| |-- extender.py
| `-- something.lua
`-- skins
|-- default.skin
`-- white-and-gold.skin
总的来说,为构建的东西(而不是源代码)建立一个孤立的目录是一件好事。它简化了编写自定义构建步骤,因为您知道最终输出的位置并简化与版本控制系统的集成,因为您可以将其设置为忽略整个目录,而不是绕过设置 ignore
对全部 .exe
, .lib
, .so
, .dll
而且每个小目录都是如此。
是的,我通常这样做 每时每刻。正如Harry所说,它减少了磁盘空间的使用。这对我来说真的不是什么大问题,因为磁盘空间非常便宜,但它可能会让你担心。我这样做的真正原因是为了更好地反映部署的外观。这样做的最好方法是拥有一个 物业单 它将输出目录修改为 $(SolutionDir)/build/bin
。在此之后,我将工作目录设置为 $(SolutionDir)/build
,这是整个结构,与部署的相同,而不是在各个项目目录中展开。
build
|-- bin
| |-- foo.exe
| |-- libfoo.dll
| `-- libbar.dll
|-- plugins
| |-- extender.py
| `-- something.lua
`-- skins
|-- default.skin
`-- white-and-gold.skin
总的来说,为构建的东西(而不是源代码)建立一个孤立的目录是一件好事。它简化了编写自定义构建步骤,因为您知道最终输出的位置并简化与版本控制系统的集成,因为您可以将其设置为忽略整个目录,而不是绕过设置 ignore
对全部 .exe
, .lib
, .so
, .dll
而且每个小目录都是如此。
我更改输出目录的主要原因是减少重复程序集的数量和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.每个副本。您可以想象随着项目数量和依赖项复杂性的增加,构建所消耗的磁盘空间和时间会有多少。
作为一个例子,我有一个updater.exe,应该与“其他”程序一起分发。所以我将构建路径设置为“其他”程序构建路径。这样我知道我总是有最新的“updater.exe”它应该在哪里。
这只是一个原因。