.NET Core - PCL 故障排除

在本章中,我们将修复从 Xamarin.Forms 项目中的私有源安装 NuGet 包时遇到的错误。

修复错误

我们将进一步简要了解问题。 首先,让我们右键单击 PCL 库并选择属性。

在这个页面上,你会看到针对性的全系列框架。 从错误中可以看出.NETPortable profile 259 与我们的StringLibrary 1.0.1 不兼容。 但是,它正在尝试从 .NET Standard 1.1 库中获取参考。

兼容

现在让我们看看 .NET 标准库并确定哪个平台与我们的库不兼容。

平台

您可以看到 Windows Phone Silverlight 8 与 .NET Standard 1.0 兼容。 如果您打开以下网页,您将看到 Profile259 仅支持 .NET Standard 1.0。

Profile259

现在让我们取消选中 Windows Phone Silverlight 8。

Silverlight

单击OK 按钮。

Ok 按钮

现在要解决此问题,请单击 OK 确定并取消 Change Targets 更改目标对话框,然后打开程序包管理器控制台并执行以下命令。

PM > Uninstall-Package Xamarin.Forms

执行命令

现在让我们转到 PCL 库的属性。 单击 Change 更改按钮。

PCL 库

取消选中 Windows Phone Silverlight 8,然后单击 OK 确定。

取消选中

您现在可以看到 Windows Phone Silverlight 8 在 Targeted 框架中不再可用。 您还可以看到现在作为目标的配置文件。 要看到这一点,让我们卸载 PCL 库并编辑 XamarinApp.csproj 文件。

卸载

现在您可以看到 TargetFrameworkProfile 现在是 Profile111。

TargetFrameworkProfile

如果打开文档,您将看到 Profile111 支持 .NET Standard 1.1。

文档 现在让我们再次重新加载 PCL 并打开 NuGet 包管理器并尝试从私有源安装 StringLibrary 包。

Package private feed

从 Dependency behavior (依赖行为)下拉列表中,选择 Ignore Dependencies (忽略依赖),然后单击 Install

依赖项

您可以看到 StringLibrary 包现在已从私有订阅源安装。 如果展开 PCL 的引用,您将看到还添加了 StringLibrary 引用,如下所示。

PCL 引用

我们已经卸载了用于 Windows Phone Silverlight 8 问题的 Xamarin.Forms。 需要重新安装 Xamarin.Forms。 建议安装同一个版本。

相同版本

安装完成后,让我们在您的应用程序中使用 StringLibrary 功能。