Visual Studio .NET程序集输出路径配置
这几天琢磨.NET下的开源界面框架Fluent.Ribbon的时候发现人家编译后的输出文件都集中在一个Build文件夹中,以前倒是指定过编译生成的最终程序集的路径,但是编译器生成的中间文件始终在工程文件夹下的obj文件夹当中,工程属性能改的就那么几个。刚开始猜想肯定是.csproj文件里面有文章,既然这个文件本来就是一个基于XML标准的文件,那咱就以文本形式打开瞧瞧。和Fluent.Ribbon的.csproj文件一对比,果然有所发现。人家在第一个<PropertyGroup>…</PropertyGroup>标签下多了一个<BaseIntermediateOutputPath>..\build\obj\NET 4.5</BaseIntermediateOutputPath>的标签。一下是我尝试的步骤(我的开发工具是VS2013):
================================= 先割为敬 ===================================
如图一所示,这是VS默认的编译路径,在右侧红色方块中有两个灰色文件夹bin和obj(看不见的童鞋请先点击一下绿色箭头处的按钮),他是干嘛的想必也不用我废话。
图一
接下来,我用Sublime Text打开.csproj文件,如图二所示。
图二
在图二中,包含了若干个<PropertyGroup>…</PropertyGroup>标签。其中有两个标签中的<OutputPath>…</OutputPath>指定了Debug编译和Release编译生成的程序集的输出路径。若读者修改过编译平台,该标签对可能有所出入。但都大同小异。接下来我修改了输出程序集路径标签,并在第一个<PropertyGroup>…</PropertyGroup>标签中增加了<BaseIntermediateOutputPath>..\Build\obj</BaseIntermediateOutputPath>标签,如图三所示。
图三
然后切换到VS窗口,此时IDE会告诉我们文件被外部程序修改,此时我们选择Reload All,如图四所示。
图四
接着删除右侧红色方块中的两个文件夹(bin、obj),如图五所示。
图五
重新编译生成工程,此时打开工程文件所在文件夹,你会发现编译器没有产生bin和obj文件输出,而是将文件全部输出到了项目解决方案根目录下的Build文件夹当中。如图六所示。
图六
本文工程文件:VisualStudio.Project.Output.Demo.zip
PS:WPF工程和WinForm工程均可通过以上方法修改,其余工程项目我还没有尝试过,用兴趣的童鞋不妨试试,方便的话也顺便告诉我一下 :)