PCF 代码使用MS build时报错“Object reference not set to an instance of an object“

最近接触了CRM PCF的开发,但是将代码拉到本地后一直无法打包,组内无法解决后联系微软工程师帮助,在微软工程师的帮助下顺利解决。
具体报错信息如下
在这里插入图片描述
微软工程师回复如下:
Case总结如下。

问题

本地环境无法使用 msbuild 来构建 PCF 应用,报错:
System.NullReferenceException: Object reference not set to an instance of an object.

原因

这是 Nuget 本身的一个 known issue 导致的,其实和 D365 关联不大,当您的 nuget 配置中的 soirce 包含本地源时,nuget 的 protocolVersion=“3” 和其不兼容,具体您可以参考 stackoverflow 和 nuget 开源社区的 issue

  1. https://stackoverflow.com/questions/33269430/nuget-object-reference-not-set-to-an-instance-of-an-object
  2. https://github.com/NuGet/Home/issues/3537

建议

  1. 打开 nuget 配置文件(windows 下一般目录在 %appdata%\NuGet\NuGet.Config),找到本地 nuget source,去除 protocolVersion=“3”,比如修改前是这样 ,修改后应该改为
  2. 由于这并不是 D365 产品本身的问题,所以我们对此修复并不提供支持,后续如果您比较关注这个 known issue 何时修复,可以继续跟进我在原因中发的 Github 的 issue 链接来检查开源社区何时对此进行支持
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值