0

几年以来,我一直在Visual Studio中使用Xamarin.Forms ,并且最近更新了我的IDEVS v. 16.3.7)。现在我意识到缺少了一些东西:共享项目选项。

当我通过向导创建新项目时,现在缺少是否要使用共享项目PCL (或 NetStandard)的问题(请参见下面的 VS 2017 屏幕截图)

现在缺少共享策略选择

我知道您仍然可以创建一个共享项目并手动添加一个iOS和一个Android项目,但这太麻烦了。我的问题确实是:微软继续将PCL /NetStandard 推到共享项目战略之上是否有原因?


我对这个决定感到特别困惑,因为早在 2016 年@miguel.de.icaza 就宣布他最喜欢的选项(在大多数情况下)是共享项目策略:

https://tirania.org/blog/archive/2016/Jan-22.html

对我来说,PCL 对于大多数用途来说太麻烦了。这就像用佳能杀死一只苍蝇。它强加了太多的限制(有限的 API 表面),迫使您跳过箍来完成一些非常基本的任务。

4

2 回答 2

2

我已经安装了 VS 2017 15.9.14,在这个版本上,可移植类库 (PCL) 已被弃用。您可以改用 .NET Standard。在 VS 2019 上,默认为 .NET Standard。

在此处输入图像描述

在 Microsoft 文档中,MS 推荐 .NET Standard 2.0 库而不是 Portable Class Libraries。有关更多信息,请参阅 MS 文档。https://docs.microsoft.com/en-us/xamarin/cross-platform/app-fundamentals/code-sharing

我的问题真的是:微软继续将 PCL 推到共享项目战略之上有什么原因吗?

对于 MS 公告,PCL 已弃用,您在创建项目时找不到。您可以通过文件 > 新建 > 项目 > 共享项目模板创建共享项目。

有关更多详细信息,您可以查看下面的链接。https://docs.microsoft.com/en-us/xamarin/cross-platform/app-fundamentals/shared-projects?tabs=windows

更新:

微软为什么继续将 >NetStandard< 推到共享项目战略之上?”。

对于旧版本的 VS 2017,.Net Standard 是 Shared Project 策略的一个选项。对于最新版本的 VS,MS 使用 .Net Standard 作为Shared Strategy的默认值。

是否有任何文档在其中 MS 说明了为什么 Shared Project 现在在 Xamarin.Forms 项目向导中被弃用/不可用?

PCL 已弃用。共享项目仍在使用中,在我的回答中,我提供了有关如何创建共享项目的第二个链接。

于 2019-10-31T08:01:16.717 回答
1

@WendyZang-MSFT 总结并补充答案:

大约 4 年前,我使用Shared Project策略开始了一个项目,直到现在我还没有发现任何特定的问题/问题会让我考虑转向 .Net Standard

最近我遇到了本地化的麻烦,即使使用共享项目也可以轻松实现。

如上所述,在我看到最新版本的Visual Studio 2019不提供将Xamarin.Forms应用程序创建为共享项目的可能性后,我有点担心我应该迁移我的解决方案。但是时间已经过去了,我刚刚意识到MS鼓励使用 .Net 标准,但共享项目仍然是一种有效的方法。

于 2020-11-06T14:16:04.297 回答