Visual Studio中如何正确添加.csproj项目引用?
原因说明
Visual Studio 2022 17.x 版本确实调整了项目引用的默认校验规则,旧版本支持直接在「添加项目引用」的浏览窗口选中外部.csproj文件添加引用的操作,现在默认被拦截:浏览窗口的文件过滤器默认隐藏了.csproj格式,手动输入路径选择也会触发 "The reference is invalid or unsupported" 报错。
这个调整是官方刻意做的限制,不是操作失误或者软件bug——直接引用解决方案外的.csproj一直是问题高发操作,很容易引发相对路径失效、多版本目标框架不匹配、CI/CD流水线找不到依赖文件等问题,所以微软默认禁用了这个操作入口。
正确添加.csproj引用的方法
- 官方推荐方案:将被引用项目加入当前解决方案
右键点击解决方案资源管理器顶部的解决方案节点,依次选择「添加」-「现有项目」,选中你需要引用的目标.csproj文件,将其导入当前解决方案。完成导入后再打开「添加项目引用」面板,就能在项目列表里直接勾选对应项目完成引用,这种方式兼容性最好,不会出现路径、版本匹配类问题。 - 无解决方案导入方案:直接编辑项目文件写入引用配置
如果不想把外部项目加入当前解决方案,可以右键需要添加引用的项目,选择「编辑项目文件」,在文件内的<ItemGroup>节点下添加如下配置,将路径替换为目标.csproj的实际绝对/相对路径即可:
保存文件后VS会自动刷新依赖项,不需要重启就能识别到这个项目引用,编译、调试的效果和解决方案内的项目引用完全一致。<ProjectReference Include="..\外部项目存放路径\TargetProject.csproj"> <ReferenceOutputAssembly>true</ReferenceOutputAssembly> </ProjectReference> - 兼容旧版本方案:开启设置恢复旧操作逻辑
如果习惯了旧版本直接浏览选.csproj的操作,可以手动打开功能开关:依次进入「工具」-「选项」-「项目和解决方案」-「常规」,勾选 允许引用不在解决方案中的项目,重启VS后就能恢复旧版本的操作逻辑,直接通过浏览按钮选中.csproj添加引用。注意这个模式下添加的外部引用容易在团队协作、跨设备同步时出现路径错误,仅适合临时调试场景使用。
内容的提问来源于stack exchange,提问作者me.at.coding
相关产品推荐
相关产品推荐

