PnP Core SDK 和 PnP Framework 的区别

Difference between PnP Core SDK and PnP Framework

今天我 read an article about the two PnP libraries "PnP Core SDK”和“PnP 框架”。

PnP Core SDK 似乎是一个框架,完全抽象了 SharePoint/Teams 的 CSOM、Graph 或 REST Api。
因此,我可以只使用 Pnp-Context,而不必再关心后台是否实际使用了 Graph 或 CSOM。
这对我来说很有意义。

但是 PnP Framework 也是一个新库,它仍然提供对实际 CSOM 上下文的访问。
这让我很困惑,因为我不知道作为开发人员现在应该如何表现。

我应该只使用 PnP Core SDK 吗?仅当我需要站点配置引擎时才使用 PnP 框架?

或者我是否也可以将 PnP 框架用于典型的操作,如“创建站点”、“更新列表项”等?

文章指出了两个库之间的以下区别:

You might be wondering what the difference is between PnP Framework and PnP Core SDK. The PnP Core SDK is used by the PnP Framework and it’s been implemented with a mindset that is independent of CSOM of SharePoint. More and more new functionalities introduced in SPO are not necessarily available through CSOM; this was the impetus for Microsoft 365 PnP introducing a new SDK, which is under the cover of both PnP Framework and PnP PowerShell for some functionalities.

是的 - 但为什么我仍然需要 Pnp 框架?这只解释了 PnP SDK 是什么...

后来他继续说:

After reading this content, you might ask yourself: “What should I use and when?”

If you are a SharePoint developer, used to working with CSOM, or if you have an already existing project built on top of PnP Sites Core and CSOM, you should rely on PnP Framework and start building modern solutions leveraging the rich set of extensions and utilities provided by the new PnP Framework library.

If you are a .NET developer, willing to create a new modern solution for SPO, start working with PnP Core SDK and enjoy consuming the Microsoft Graph and the SPO REST APIs with a high-level abstraction layer.

我是 SharePoint 开发人员,也是 .NET 5 开发人员。但这仍然没有回答我的问题。

什么时候应该使用 PnP 框架?什么时候出SDK?

对于正常的网站、团队、列表、项目操作等。我可以使用 SDK,对于供应引擎,框架?
但这是正确的吗?

Should I use only the PnP Core SDK? And the PnP Framework only if I need the site provisioning engine? Or can I use PnP Framework also for typical operations like "Creating sites", "Updating list items" etc.?

您可能只使用 PnP Core SDK,这当然取决于您的需要,但对于缺少的部分,您仍然可以使用 PnP Core SDK,因为它们使您可以只使用这些部分通过 PnP 核心的 REST API。

我一直在我们的产品和 SharePoint 之间的多个集成中使用 PnP Core SDK。我们已经将它用于例如创建站点、文件夹、文件夹访问管理 groups/users、更新和创建列表项等

正如他们提到的那样 here 他们正在努力进行过渡,这意味着 PnP 核心在未来将只是 SDK,他们正在将所有内容都集中在其中。

This library is the long term evolution of PnP Framework, we'll enable a phased transition from PnP Framework to PnP Core SDK without impacting PnP Framework users.

不幸的是,我没有关于“供应引擎”状态的任何信息,但他们(再次)提到 here 也将为此完成过渡。

As this transition will take quite some time and effort, we plan to gradually move things over from PnP Framework to the PnP Core SDK. Going forward PnP Framework features will move to the PnP Core SDK in a phased approach.

在我使用 PnP Core SDK 的那些项目中,我真的很惊讶,因为它已经提供了大量的功能,这使得它非常强大。它是一个巨大的 SDK,使用它的人已经做得很好(虽然 documentation 需要多做一些工作,但它仍然比市场上的许多其他软件好)。

我希望这能为您澄清一些事情。