无法通过 App Catalog 将 SPFx webpart 部署到 sharepoint 2019

Posted

技术标签:

【中文标题】无法通过 App Catalog 将 SPFx webpart 部署到 sharepoint 2019【英文标题】:Unable to deploy SPFx webpart to sharepoint 2019 via App Catalog 【发布时间】:2021-03-02 03:06:07 【问题描述】:

我在将我的 .sppkg 文件部署到 Sharepoint 2019 时遇到了一些问题。我使用 SPFx 框架版本 v1.4.1 开发它以确保它兼容,并且在针对Sharepoint 环境的工作台 (https://your-sharepoint-site/_layouts/workbench.aspx)。

但是,将 webpart 上传到应用目录后,它会显示一般错误消息:

客户端代码错误

并且无法部署。在 Sharepoint 环境的日志中,上传包后出现此错误:

Caught an exception while updating the properties of SharePoint App package AppCatalog/my-webpart-app.sppkg. Error: There were errors when validating the App package: Error in the application. Stack Trace:
at Microsoft.SharePoint.Marketplace.CorporateCuratedGallery.SPCorporateCatalogEventReceiver.PromoteProperties(SPListItem listItem, Stream packageStream, Boolean addingPackage)
at Microsoft.SharePoint.Marketplace.CorporateCuratedGallery.SPCorporateCatalogEventReceiver.HandleItemAddedOrUpdated(SPListItem listItem, Boolean categoryChanged, Boolean addingPackage, Boolean isDeploying, Boolean beforeIsDeployed, Boolean beforeIsCurrentVersionDeployed)

相同的包在 Sharepoint Online 环境中部署良好。我没有另一个 2019 年的环境可供测试。

我有点不知道如何调试。使用 1.4.1 版从初始 SPFx 项目构建的测试.sppkg 文件部署得很好,所以我唯一的想法是慢慢地向基础包添加功能并部署新版本,直到它崩溃,但这感觉有点像疯了。

有没有人了解打包过程的哪一部分可能导致.sppkg 文件在上传时无法运行?会不会是环境中的权限问题?

【问题讨论】:

【参考方案1】:

您的 .sppkg 元数据有错误: 验证应用包时出现错误:应用程序出错。

我认为,主要错误 - 你没有创建干净的项目。创建干净的项目,使用this info

yo @microsoft/sharepoint

别搞错了,回答这个问题:

您希望您的组件针对哪些基线包?

有 2016、2019、SharePoint Online only(最新)

如果您的包是为 sharepoint online 创建的 - 它不会添加到 sharepoint 2019 On Premis。

您将在应用目录和 uls 日志中看到权限错误。您的错误 - 包的元数据不正确。

Sharepoint 入门套件包含此信息

入门工具包版本 1 包括仅适用于 SharePoint Online 的综合策略,以及将所有 Webpart 和扩展封装到单个包中的单个 SPFx 解决方案。版本 1 可以通过 v1 分支访问以用于遗留用途,并且不会在 2020 年 4 月之后维护。link

所以,不要修改它:)它已经是旧的了。

对于本地开发人员自己的软件包 - 您可以创建单个服务器场。如果您在 sharepoint 在线工作 - 您可以使用 Office 356 developer programm

【讨论】:

所以,我终于解决了这个问题。我创建了一个 SPFx v1.4.1 项目,它应该是兼容的,但我做了两件奇怪的事情:(1)我使用节点 8.17.0 创建了项目(2)我试图(手动)实现当时来自微软的测试版,围绕获取图形 api 的身份验证上下文,如文档所述 here 修复/删除这些特征解决了我的问题。所以你基本上是对的,这是一个干净/权限问题

以上是关于无法通过 App Catalog 将 SPFx webpart 部署到 sharepoint 2019的主要内容,如果未能解决你的问题,请参考以下文章

SPOnline:在我的 SPfx WebPart 中包含功能/资产部署后,我无法将其放在任何 SitePage 上

我无法使用 VS Code、node.js 和 SPFx 进行调试

如何在SPFX经典视图中创建自定义母版页

Django App TypeError django.views.i18n.javascript_catalog

使用 SPFx 扩展将自定义操作部署到 SharePoint 2019 列表

更新文档库元数据 SPFx Web 部件时出现 InvalidClientQueryException