Kentico 10升级至11后缺失Microsoft.SharePoint.Client.Runtime.Portable程序集
我之前处理过好几起Kentico版本升级后CSOM依赖冲突的案例,给你几个针对性的排查和解决步骤,应该能搞定这个问题:
1. 匹配Kentico 11要求的CSOM版本
Kentico 11官方适配的SharePoint Online CSOM版本是16.0.6619.1200左右,你安装的16.1.7414.1200版本偏高,容易和Kentico内部依赖产生版本冲突。先卸载当前版本:
Uninstall-Package Microsoft.SharePointOnline.CSOM -RemoveDependencies
再安装适配的版本:
Install-Package Microsoft.SharePointOnline.CSOM -Version 16.0.6619.1200
2. 确保程序集被正确复制到输出目录
右键项目里的Microsoft.SharePoint.Client.Runtime.Portable引用,打开属性面板:
- 把复制本地选项设为
True - 确认引用的程序集版本是错误提示里的
16.1.0.0
如果找不到这个引用,手动从NuGet包安装路径添加:一般路径是解决方案目录\packages\Microsoft.SharePointOnline.CSOM.16.0.6619.1200\lib\portable-net45+win8+wp8+wpa81\Microsoft.SharePoint.Client.Runtime.Portable.dll
3. 添加程序集绑定重定向
如果是版本不匹配导致的绑定问题,在Web.config里加入以下配置,让所有请求都指向你安装的版本:
<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Microsoft.SharePoint.Client.Runtime.Portable" publicKeyToken="71e9bce111e9429c" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-16.1.0.0" newVersion="16.0.6619.1200" /> </dependentAssembly> </assemblyBinding> </runtime>
注意把newVersion替换成你实际安装的CSOM版本号。
4. 清理重建解决方案
- 右键解决方案选择「清理」
- 手动删除项目下的bin和obj目录
- 重新生成解决方案,确保所有依赖文件都被正确复制到输出目录
5. 检查Kentico后台的SharePoint集成配置
登录Kentico后台,进入站点设置 → 集成 → SharePoint,确认配置的SharePoint版本和你安装的CSOM版本匹配,没有残留的旧版本配置项。
按这个流程走下来,应该能解决程序集找不到的问题。
内容的提问来源于stack exchange,提问作者Priya-Systematix
相关产品推荐
相关产品推荐

