如何将bin和obj目录重定向到其他位置

时间:2011-01-19 13:01:56

标签: visual-studio

有没有办法告诉visual studio为 bin obj 目录使用不同的位置。 例如,如果我的项目位于 c:\ my \ myprojects.csproj 中,我怎样才能拥有obj和bin目录,例如 d:\ otherdirectory \ bin d:\ otherdirectory \ _ obj 。 Visual Studio项目选项仅提供重定向bin目录,而不是obj目录。

另外,奖励问题:我可以使用环境变量,而不是完整路径或相对路径吗?

这可能吗?

由于

3 个答案:

答案 0 :(得分:14)

请参阅此Article并使用节点 BaseOutputPath (对于Bin文件夹)和 .proj文件中的 BaseIntermediateOutputPath (对于Obj文件夹)。

以下是相对于bin修改调试和释放文件夹的方法 -

在“解决方案资源管理器”中,选择要配置的C#项目 构建参数。

接下来,从Visual Studio菜单栏中选择Project - > Properties。 物业页面对话框将出现在您的项目中。

选择要更改和展开的配置(发布/调试) 左侧窗格中的“配置属性”节点。选择 Studio位于“输出”的“输出路径”属性中 属性表。

请注意,输出路径是针对每种类型单独指定的 构建配置,并且在一个配置上设置它不会 把它放在剩下的所有。

原始来源 - http://www.eggheadcafe.com/software/aspnet/32040244/how-to-change-the-obj-folder.aspx

答案 1 :(得分:4)

要将obj目录从代码库移至另一个公用文件夹,您可以执行以下操作。使用以下内容在解决方案的根目录中创建Directory.Build.props

<Project>
  <PropertyGroup>
    <BaseIntermediateOutputPath>$(SolutionDir)\_Obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
  </PropertyGroup>
</Project>

要使公用obj目录中的文件夹结构与解决方案中的文件夹结构相同,可以在解决方案的每个子文件夹中创建内容相同且相似的文件。例如。如果您有包含多个项目的子文件夹Algorithms,则可以将包含以下内容的文件放入其中:

<Project>
  <PropertyGroup>
    <BaseIntermediateOutputPath>$(SolutionDir)\_Obj\Algorithms\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
  </PropertyGroup>
</Project>

BaseOutputPath用于bin文件夹。

答案 2 :(得分:0)

在Build选项卡的Project-options中,您可以选择输出路径(在底部)。