VS2019拉取分支代码后新增文件未被纳入项目问题咨询
VS2019协作新增文件未自动纳入项目问题排查与解决方案
问题根因
- VS的项目文件(
.csproj/.vbproj/.vcxproj等)本质是项目包含文件、引用、编译配置的清单,新增文件时如果仅提交了文件本身,没有提交修改后的项目文件,其他协作者拉取后自然不会有这些文件的纳入记录,VS不会默认把磁盘上的文件自动加入项目。 - 部分场景下即使提交了项目文件,协作者本地开启了文件自动排除功能,VS会把判定为「非项目预期文件」的内容自动排除,Web类项目、新SDK风格项目中该问题触发概率更高。
- 多人协作时项目文件存在未完全解决的合并冲突,新增文件的包含条目被覆盖丢失,也会导致该问题。
解决方案
提交侧校验规范
- 每次新增文件后提交前,确认提交列表包含对应修改的项目文件,不要仅勾选新增的源码、资源文件就直接提交。
- 若使用SDK风格的新项目,可在项目文件中配置通配符自动包含指定目录的所有文件,配置示例:
<ItemGroup> <!-- 自动包含Src目录下所有.cs文件 --> <Compile Include="Src/**/*.cs" /> <!-- 自动包含Assets目录下所有资源文件 --> <None Include="Assets/**/*" /> </ItemGroup>
配置完成后只要文件存放到对应目录,无需手动修改项目文件即可自动识别,避免遗漏提交。
拉取侧配置调整
- 关闭VS自动排除功能:打开VS2019,依次点击
工具->选项->项目和解决方案->Web项目,取消勾选将新文件视为排除项选项。 - 拉取更新后如果仍未看到对应文件,可在解决方案资源管理器顶部点击
显示所有文件按钮,找到未纳入的文件/文件夹,右键选择包括在项目中,保存项目文件即可。
冲突处理规范
- 拉取更新合并项目文件冲突时,重点核对
Compile/None/Content等包含文件的节点,不要直接覆盖对方的新增条目,合并完成后先本地验证所有文件都正常纳入,再提交合并结果。
内容的提问来源于stack exchange,提问作者Gabe N
相关产品推荐
相关产品推荐

