You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell通过Microsoft.SharePoint.Client.ClientContext上传SharePoint Online文件报错问询

解决PowerShell调用CSOM上传SharePoint Online文件的程序集加载错误

你遇到的报错是因为脚本运行时没有加载SharePoint CSOM对应的依赖程序集,可根据你的环境选择以下任意一种方案解决:

方案1:复用已安装的PnP PowerShell内置CSOM程序集(推荐)

你之前触发Connect-PnPOnline后脚本可正常运行,本质是PnP PowerShell模块自带了兼容版本的CSOM程序集。你可以在脚本开头添加以下代码,自动加载PnP模块内置的CSOM依赖,无需手动执行Connect-PnPOnline再取消:

# 自动查找最新版PnP.PowerShell模块的CSOM程序集路径并加载
$latestPnpModule = Get-Module -ListAvailable PnP.PowerShell | Sort-Object Version -Descending | Select-Object -First 1
$moduleRoot = Split-Path $latestPnpModule.Path -Parent
Add-Type -Path (Join-Path $moduleRoot "Microsoft.SharePoint.Client.dll")
Add-Type -Path (Join-Path $moduleRoot "Microsoft.SharePoint.Client.Runtime.dll")

该方案无需额外安装任何软件,不会出现版本兼容问题。

方案2:安装SharePoint Online CSOM SDK

如果你的环境没有安装PnP PowerShell,可以安装SharePoint Online Client Components SDK,安装完成后即可使用你之前查到的固定路径加载程序集:

# 加载本地安装的CSOM程序集
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

方案3:手动获取CSOM程序集(无安装权限场景)

如果你的设备没有软件安装权限,可以通过NuGet获取CSOM的两个dll文件,存放到本地任意目录后,在Add-Type时指定你实际存放dll的路径即可。

将对应加载代码放在你原上传脚本的最开头,即可解决报错。

内容的提问来源于stack exchange,提问作者Kaikus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 15:00:00