Visual Studio添加现有C#项目后显示Pending Add,如何完成Check In?
解决Visual Studio项目“Pending Add”及Check In问题
核心原因
这种情况是因为添加的现有项目未被复制到当前解决方案的本地工作目录,Visual Studio仅在解决方案文件(.sln)中添加了项目引用,但版本控制(如TFS/Git)无法追踪到实际项目文件,因此显示“Pending Add”,同时本地文件管理器中看不到对应文件夹。
解决步骤
1. 确认项目实际存储位置
右键点击解决方案资源管理器里的Pending Add项目,选择**“卸载项目”;再右键点击卸载后的项目,选择“编辑[项目名].csproj”**,查看文件内的路径相关配置,确认项目当前的实际存储位置。
2. 迁移项目到解决方案工作目录
- 关闭Visual Studio,打开系统文件管理器,找到项目原存储位置,将整个项目文件夹复制到当前解决方案的根目录下(与其他已Check In的项目同级)。
- 若原项目路径和解决方案路径有依赖关联,手动调整项目内的引用路径(如Nu包、项目间引用),避免运行出错。
3. 重新绑定项目到解决方案
- 打开Visual Studio,右键点击解决方案,选择**“添加”>“现有项目”**,找到复制到解决方案目录下的
.csproj文件重新添加。 - 移除原来显示Pending Add的项目(右键选择“移除”)。
4. 完成版本控制提交
- 打开VS的团队资源管理器(TFS)或Git更改面板(Git),新添加的项目文件夹及文件会出现在待提交列表中。
- 选中这些文件,填写提交备注,执行**“签入”(TFS)或“提交并推送”(Git)**操作。
5. 验证结果
- 提交完成后,解决方案资源管理器中的项目应显示为“Checked In”状态,系统文件管理器中也能看到对应项目文件夹。
- 重新运行解决方案,确认项目可正常编译运行。
额外注意事项
- 使用TFS时,确保工作区映射正确,避免项目文件存储在工作区外导致版本控制无法追踪。
- 项目迁移后逐一检查依赖项,必要时通过**“项目”>“管理NuGet程序包”**重新还原包,或调整项目引用路径。
内容的提问来源于stack exchange,提问作者Tishat
相关产品推荐
相关产品推荐

