如何修改Visual Studio 2022中bin和obj文件夹的默认路径
全局修改Visual Studio 2022的bin/obj输出目录
要给所有Visual Studio 2022项目统一设置bin和obj的输出目录,无需逐个修改项目属性,可通过以下几种方式实现:
方法1:使用MSBuild全局用户属性文件(推荐)
这种方式对所有.NET项目(包括.NET Framework、.NET Core/.NET 5+)生效,且无需修改系统文件:
- 打开用户目录下的MSBuild配置文件夹:
C:\Users\<你的用户名>\AppData\Roaming\Microsoft\MSBuild\Current- 若
Current文件夹不存在,手动创建即可
- 若
- 在该文件夹下新建或编辑
Microsoft.Common.props文件,添加以下内容:<Project> <PropertyGroup> <!-- 自定义输出根目录,替换为你的目标路径 --> <CustomBuildRoot>C:\Users\MyUserName\MyProjectsBuilds</CustomBuildRoot> <!-- 重定向bin目录,保留配置和平台维度 --> <OutputPath>$(CustomBuildRoot)\$(SolutionName)\$(MSBuildProjectName)\bin\$(Configuration)\$(Platform)</OutputPath> <!-- 重定向obj目录 --> <BaseIntermediateOutputPath>$(CustomBuildRoot)\$(SolutionName)\$(MSBuildProjectName)\obj\$(Configuration)\$(Platform)</BaseIntermediateOutputPath> </PropertyGroup> </Project> - 保存文件后重启Visual Studio,所有新建或未手动覆盖输出目录设置的已有项目,都会自动使用新的输出路径。
方法2:使用Visual Studio用户属性表
适合习惯通过VS图形界面配置的场景:
- 打开Visual Studio,依次点击
视图->其他窗口->属性管理器 - 在属性管理器中,右键点击
用户节点,选择添加新项目属性表,将属性表保存到用户目录(如C:\Users\<你的用户名>\Documents\Visual Studio 2022\Property Sheets\CustomBuildDirs.props) - 双击打开该属性表:
- 切换到
通用属性->用户宏,点击添加宏,输入宏名CustomBuildRoot,值设为你的目标根路径C:\Users\MyUserName\MyProjectsBuilds,勾选设置为环境变量 - 切换到
通用属性->生成(或VC++目录,依项目类型而定),将输出目录修改为:$(CustomBuildRoot)\$(SolutionName)\$(ProjectName)\bin\$(Configuration)\$(Platform),中间目录修改为:$(CustomBuildRoot)\$(SolutionName)\$(ProjectName)\obj\$(Configuration)\$(Platform)
- 切换到
- 保存属性表后,所有新项目会自动继承该配置;已有项目可在属性管理器中右键点击项目节点,选择
添加现有属性表导入即可。
方法3:使用Directory.Build.props(针对指定目录下的所有项目)
如果只想给特定目录下的解决方案/项目统一设置,可在该目录的根节点创建Directory.Build.props文件,内容与方法1的Microsoft.Common.props一致。例如放在C:\Users\MyUserName\source\repos目录下,该目录下的所有项目都会自动应用此配置。
注意事项
- 若已有项目手动设置过输出目录,全局配置不会覆盖,需清除项目中的自定义输出路径设置(在项目属性的
生成选项卡中恢复为默认值) - 变量说明:
$(SolutionName)为解决方案名称,$(MSBuildProjectName)/$(ProjectName)为项目名称,$(Configuration)为Debug/Release等配置,$(Platform)为x64/x86等平台,保留这些变量可保持输出结构与原路径一致
内容的提问来源于stack exchange,提问作者Carlos Siestrup
相关产品推荐
相关产品推荐

