我正在尝试使 Npgsql(.NET 的 PostgreSQL 提供程序)可供 Xamarin 用户使用。 Npgsql已经支持.NET Platform Standard(版本3),并且该标准的文档包含以下句子:
如果库面向 .NET Platform Standard 版本 1.3,则它只能在 .NET Framework 4.6 或更高版本、.NET Core、通用 Windows 平台 10 (UWP) 和 Mono/Xamarin 平台上运行。
我可以从我的 Xamarin.Android 项目成功安装 Npgsql nuget。但是,当我尝试构建时出现以下错误:
System.IO.FileNotFoundException: Could not load assembly 'System.Security.Cryptography.Algorithms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Perhaps it doesn't exist in the Mono for Android profile?
现在,该软件包(像 Npgsql 所依赖的许多 RC2 软件包一样)有一个 lib/MonoAndroid10 目录,其中包含.(参考文献中也相同),这似乎表明 Mono.Android 支持该包,但不需要 DLL(因为逻辑是框架的一部分)。这很好,但 Xamarin.Android 构建过程包含一个 ResolveAssemblies 任务,该任务遍历 DLL 依赖关系图(这是相关代码 https://github.com/xamarin/xamarin-android/blob/master/src/Xamarin.Android.Build.Tasks/Tasks/ResolveAssemblies.cs#L109)。由于 Npgsql 的 netstandard13 DLL 引用 System.Security.Cryptography.Algorthims.dll,因此此操作失败。
我很困惑 nuget 声明“一切都很好”,而构建过程本身似乎显然与使用 netstandard13 依赖项不兼容。
有任何想法吗?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)