如何配置Visual Studio 2022,让MSBuild项目在指定磁盘生成构建目录?
配置Visual Studio 2022让MSBuild项目默认将构建目录放在F:\build
可以通过配置用户级全局MSBuild属性文件实现,无需修改系统文件,所有MSBuild项目(包括.NET和C++)都会自动应用这个配置,具体步骤如下:
1. 创建用户全局自定义属性文件
- 打开文件资源管理器,输入路径
%USERPROFILE%\AppData\Roaming\Microsoft\MSBuild并回车 - 如果没有
Current文件夹,手动创建一个;进入Current文件夹,新建名为Custom.Common.props的文件 - 根据你的项目类型,写入对应的配置内容:
针对.NET项目
<Project> <PropertyGroup> <!-- 指定输出目录(bin文件夹)到F:\build下的项目专属文件夹 --> <OutputPath>F:\build\$(MSBuildProjectName)\$(Configuration)\$(Platform)</OutputPath> <!-- 指定中间输出目录(obj文件夹)到同路径下的obj子目录 --> <IntermediateOutputPath>F:\build\$(MSBuildProjectName)\obj\$(Configuration)\$(Platform)</IntermediateOutputPath> </PropertyGroup> </Project>
针对C++项目
<Project> <PropertyGroup> <!-- 指定最终输出目录(对应VS中的"输出目录") --> <OutDir>F:\build\$(MSBuildProjectName)\$(Configuration)\$(Platform)\</OutDir> <!-- 指定中间编译目录(对应VS中的"中间目录") --> <IntDir>F:\build\$(MSBuildProjectName)\obj\$(Configuration)\$(Platform)\</IntDir> </PropertyGroup> </Project>
2. 让MSBuild自动导入自定义属性文件
- 在
%USERPROFILE%\AppData\Roaming\Microsoft\MSBuild\Current目录下,新建或编辑Microsoft.Common.props文件,添加以下内容:
<Project> <Import Project="Custom.Common.props" /> </Project>
注意事项
- 提前手动创建
F:\build目录,避免因权限问题导致MSBuild无法自动创建 - 已有的项目如果单独设置过输出目录,全局配置会被项目自身的设置覆盖,需手动移除项目属性中的自定义输出路径
- 配置中的
$(MSBuildProjectName)会自动替换为项目名称,$(Configuration)对应Debug/Release等构建配置,$(Platform)对应x64/x86等目标平台,最终生成的目录结构和你期望的一致:F:\ |- foo |- bar |- build |- Project1 |- Debug |- Release |- obj |- Project2 |- Debug |- Release |- obj
内容的提问来源于stack exchange,提问作者LorenDB
相关产品推荐
相关产品推荐

