如何更改VS解决方案中的所有构建目录?

时间:2010-08-12 08:43:23

标签: .net visual-studio

我已经有了几十个项目的解决方案。我可以单独进入漂亮的“属性”选项卡并更改那里的输出目录,但这需要很长时间。什么是快速的方式?

此外,还有一些不再需要的旧构建配置。我如何消除它们?

3 个答案:

答案 0 :(得分:0)

  

有一些不再需要的旧构建配置。我如何消除它们?

有些事情可以在解决方案属性中完成配置管理器

但主要是你需要修改每个项目。

  

我可以单独进入漂亮的“属性”选项卡并更改那里的输出目录,但这需要很长时间。什么是快速的方式?

  1. 一个宏?
  2. 项目文件(.csproj.fsproj,......取决于基础项目类型)是XML,可在VS内编辑(卸载项目,然后右键单击直接编辑项目)文件)或VS之外。
  3. #2的编辑本身可以自动化。

    您选择的自动化程度取决于您现在拥有的项目数量,以及您是否希望再次进行批量更改。

    记住保持足够的备份,很容易破坏。

答案 1 :(得分:0)

一次更改所有项目的公共属性,您可以在所有项目中导入一个公共项目。是的,这需要编辑所有当前项目(尽管编写一个脚本并不难写出所有.csproj / ...文件recusrively并添加/删除几行),但是如果你将来必须再次进行更改它会让事情变得更容易。

例如,在所有项目中使用此项(作为结束标记之前的最后一行):

<Import Project="..\templates\mydefaults.targets/>

在mydefaults.targets中,例如:

<Import Project="mypaths.targets"/>
<PropertyGroup>
  <OutputPath>$(MyCommonBinDir)\(Configuration)$(PlatForm)\</OutputPath>
  <BaseIntermediateOutputPath>$(MyTempDir)\$(AssemblyName)\</BaseIntermediateOutputPath>
</PropertyGroup>

我喜欢保持mypaths.target单独:它定义MyCommonBinDir和MyTempDir,所以如果我想构建原始源代码树的分支,我只需要更改该文件一次设置所有项目的输出路径。

答案 2 :(得分:0)

是的,我环顾四周,这就是我的所作所为:

没有加载任何内容,您可以转到编辑&gt;替换为文件。

这使您可以在解决方案目录中搜索.csproj文件。我搜索了xml标签,并用我想要的新目录仔细替换它。请记住为调试和发布执行此操作。此外,如果您正在进行版本控制,请确保不要搞砸基本副本文件。 (这就是你只搜索.csproj的原因。)