使用MSBuild推送PCF控件至开发环境时遇Value cannot be null错误
解决PCF控件MSBuild构建"Value cannot be null. Parameter name: type"错误
问题详情
运行MSBuild推送PCF控件到开发环境时触发错误:
C:\Users\manojmalagouda.p.nuget\packages\microsoft.powerapps.msbuild.solution\1.42.1\build\Microsoft.PowerApps.MSBuild.Solution.targets(137,5): error : Value cannot be null. C:\Users\manojmalagouda.p.nuget\packages\microsoft.powerapps.msbuild.solution\1.42.1\build\Microsoft.PowerApps.MSBuild.Solution.targets(137,5): error : Parameter name: type
已知信息:
- Microsoft PowerPlatform CLI版本:1.40.4+g8ef3243
dotnet build可成功构建控件,仅MSBuild构建失败
可行解决方案
1. 对齐CLI与MSBuild包版本
当前使用的CLI是1.40.4,但依赖的microsoft.powerapps.msbuild.solution包是1.42.1,版本不匹配是常见诱因:
- 卸载现有MSBuild包:
nuget uninstall microsoft.powerapps.msbuild.solution -version 1.42.1 - 安装与CLI版本匹配的包(1.40.4):
nuget install microsoft.powerapps.msbuild.solution -version 1.40.4
2. 清理项目缓存后重新构建
- 删除项目根目录下的
bin、obj文件夹 - 清理NuGet缓存:
nuget locals all -clear - 重新运行
dotnet restore,再尝试MSBuild构建
3. 检查PCF控件配置文件
确认ControlManifest.Input.xml中无缺失或异常配置:
- 确保
<control>节点的type属性存在且不为空 - 检查所有
<property>、<resources>等节点的配置完整,无语法错误
4. 升级CLI到兼容版本
如果上述方法无效,将PowerPlatform CLI升级到与MSBuild包1.42.1匹配的版本(建议1.42.x):
pac install latest
内容的提问来源于stack exchange,提问作者Mps
相关产品推荐
相关产品推荐

