改变VisualStudio项目的obj和bin输出路径

作者:V君 发布于:2016-6-30 11:08 Thursday 分类:折腾手记

TL;DR 

参考[爆栈帖子1][爆赞帖子2][M¥DN]

更改配置文件根节点Project底下PropertyGroup\BaseIntermediateOutputPath可以改变obj目录

例如 Z:\U00ST\$(MSBuildProjectName)\obj\ 写成如下

<BaseIntermediateOutputPath>Z:\U00ST\$(MSBuildProjectName)\obj\</BaseIntermediateOutputPath>

就能把obj文件带去Z:\U00ST\Abc\obj\默认情况下里面还会按生成配置创建Debug/Release目录.

本例使用了宏MSBuildProjectName,能替换成项目文件不带扩展名Abc.csproj(Abc.vbproj)的abc


改变bin目录已经在项目属性自带了,不过还可以玩点花样

同样位置创建BaseOutputPath节点 <BaseOutputPath>Z:\U00ST\$(MSBuildProjectName)\</BaseOutputPath>

然后把每个带生成配置条件(Condition)的PropertyGroup里的OutputPath删除

回到第一个PropertyGroup增加一项

<OutputPath>$(BaseOutputPath)\bin\$(Configuration)_$(Platform)</OutputPath>

就能把所有生成配置的bin输出带到 Z:\U00ST\abc\bin_x64\ 了.


如果是WEB项目, 那么不能改变bin目录, 会让Web项目跑不起来, 尽管能编译通过

把bin做个目录链接. mklink /d bin z:\U00ST\Abc.Web\bin 就可以了

作成生成事件 

if not exist $(ProjectDir)bin mklink /d $(ProjectDir)bin z:\U00ST\$(ProjectName)\bin

会更方便


闲了再扯扯

其实就是在u盘上编译那点事, 这些年的u盘走虽然走了USB3.0不过提升的只有读取速度,

写入还是和以前差别不大, 于是把obj和bin扔到RAMDISK去, 编译速度大大提升!

就算在硬盘, 没有了源码管理需要排除的obj和bin目录在源代码里面也是很爽的!

标签: 软件开发 C# VisualStudio

引用地址:

发表评论:

Powered by emlog 去你妹的备案 sitemap