使用ASP API 2、OData v3及VS2017社区版添加OData Connected Service报错求助
解决OData Connected Service添加失败(Value cannot be null. Parameter name: path1)的问题
我之前在Visual Studio 2017社区版中,对接ASP Web API 2 + OData v3时,也碰到过完全一样的报错,折腾了好一阵才找到解决办法,给你几个实用的排查和修复步骤:
1. 降级OData Connected Service版本
VS2017对较新的OData Connected Service版本兼容性不佳,建议降级到v0.10.0:
- 打开VS的「工具」→「扩展和更新」
- 找到已安装的「OData Connected Service」,卸载当前版本
- 搜索并安装适配VS2017的v0.10.0版本(注意选对应VS2017的安装包)
2. 验证OData元数据地址有效性
这个报错大概率和元数据地址有关,先确认API的元数据可正常访问:
- 在浏览器中直接访问
http://你的API域名/odata/$metadata,确保能返回完整的XML格式元数据 - 如果地址存在拼写错误、路径问题或API未正常启动,修正后再重新配置Connected Service
3. 清理项目与VS缓存
VS的缓存文件偶尔会引发奇怪的问题,试试以下操作:
- 关闭VS,删除项目目录下的隐藏文件夹
.vs - 删除项目的
bin和obj文件夹 - 重新打开VS,右键项目→「清理」→「生成解决方案」,之后再尝试添加OData Connected Service
4. 改用本地元数据文件(备选方案)
如果在线地址始终有问题,可以先下载元数据到本地:
- 浏览器打开
$metadata地址,右键将页面保存为.xml文件 - 在添加OData Connected Service时,选择「本地文件」选项,指向你保存的这个XML文件
5. 检查项目的.NET Framework版本
ASP Web API 2 + OData v3要求项目目标框架为.NET Framework 4.5及以上:
- 右键项目→「属性」→「应用程序」→「目标框架」,确认版本符合要求
我当时是通过降级OData Connected Service版本解决的问题,你可以优先尝试第一个步骤,应该能快速解决这个path1参数为空的报错。
内容的提问来源于stack exchange,提问作者Amir Imam
相关产品推荐
相关产品推荐

