Visual Studio构建频繁遇MSB0001错误,如何始终使用默认配置?
解决Visual Studio构建时强制使用默认配置的方法
问题描述
在Visual Studio中构建解决方案时,频繁(5次构建尝试中有4次)遇到以下内部错误:
System.AggregateException: One or more errors occurred. ---> Microsoft.Build.Shared.InternalErrorException: MSB0001: Internal MSBuild Error: MSB0001: Internal MSBuild Error: Request 0 refers to configuration 18 which is not known to the engine.
其中configuration后的数字可能变化,多次尝试构建后会出现提示-> Using default config,此时构建可正常完成。已尝试对比.SLN和.PROJ文件同步、切换不同配置,但问题仍存在,需要设置让构建始终使用默认配置。
解决方案
1. 手动锁定默认构建配置
- 打开解决方案后,点击顶部工具栏的解决方案配置下拉菜单(通常显示
Debug/Release的区域),选择你需要设为默认的配置(如Debug|x86)。 - 点击下拉菜单中的配置管理器,在弹出窗口中确认活动解决方案配置和活动解决方案平台为目标默认值,点击关闭。
- 按
Ctrl+S保存解决方案,下次启动Visual Studio时会自动加载该配置。
2. 直接修改解决方案文件(.sln)
- 用记事本或Visual Studio的文本编辑器打开
.sln文件,找到GlobalSection(SolutionConfigurationPlatforms)和GlobalSection(ProjectConfigurationPlatforms)段落:GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {项目唯一GUID}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {项目唯一GUID}.Debug|Any CPU.Build.0 = Debug|Any CPU {项目唯一GUID}.Release|Any CPU.ActiveCfg = Release|Any CPU {项目唯一GUID}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection - 将你要设为默认的配置(如
Debug|Any CPU)放在SolutionConfigurationPlatforms的第一行。 - 检查
ProjectConfigurationPlatforms中,对应项目的默认配置已正确设置ActiveCfg和Build.0,删除所有无效的配置条目(即那些数字对应的未知配置项)。 - 保存
.sln文件,重新加载解决方案。
3. 清除Visual Studio构建缓存
- 关闭Visual Studio,删除以下路径的缓存文件:
%LOCALAPPDATA%\Microsoft\VisualStudio\<你的VS版本号>\ComponentModelCache- 解决方案目录下的
.vs隐藏文件夹(需在文件资源管理器中开启「显示隐藏项目」)
- 重新打开Visual Studio并加载解决方案,系统会重新生成干净的构建配置缓存。
内容的提问来源于stack exchange,提问作者Roy
相关产品推荐
相关产品推荐

