2

我正在尝试在我的 xamarin 应用程序中实现手指触摸登录

为此我已经安装了包插件。指纹版本 1.4.5.0

但它在构建时给了我一个错误

无法解析主要参考“Plugin.Fingerprint, Version=1.4.5.0, Culture=neutral, processorArchitecture=MSIL”,因为它是针对“.NETPortable,Version=v5.0”框架构建的。这是比当前目标框架“.NETPortable,Version=v4.5,Profile=Profile111”更高的版本。

搜索该错误后,我得到了这个解决方案

我已将 Xamarin 解决方案中的所有项目转换为 netstandard1.1(我使用了您的指南),现在一切正常

但我想知道它不会影响应用程序的其他功能吗?意味着这是正确的解决方案?像这样降级版本不会影响其他任何事情吗?

如果是的话,这个错误的其他解决方案是什么?

请帮忙

4

4 回答 4

3

我的问题是我不小心在 Mac 上安装了 VS 2019。我只想更新 VS 2017,但您必须非常仔细地阅读更改(前面没有提示您正在升级 VS!)。然后我找到了一种将 Mac 上的 VS 降级VisualStudioForMac-7.8.4.1 的方法。之后,我发现我的 Jenkins 构建(使用msbuild)不适用于上述故障。

警告 MSB3274:主要参考“Plugin.Fingerprint,Version=1.4.6.0,Culture=neutral,processorArchitecture=MSIL”无法解析,因为它是针对“.NETPortable,Version=v5.0”框架构建的。这是比当前目标框架“.NETPortable,Version=v4.5,Profile=Profile7”更高的版本。

msbuild版本从16.0.42 -preview+g804bde742b 更改16.0.459+g5b35a69a2e。切换到xbuild向我显示了一个已弃用的警告以及找不到 Java 版本(对于 Droid)。

幸运的是,我找到了这篇文章,其中描述了解决方案。

TLDR:

  • 在 Mac 上从此站点安装MonoFramework-MDK-5.18.0.268 包
  • 检查Visual Studio > Preferences > Projects > .NET Runtimes下的版本,看看是否Mono 5.18.0.268设置为默认值。
  • 玩得开心 :)
于 2019-07-12T16:05:56.953 回答
1

我使用以下步骤解决了这个问题:

  • 右键单击项目并选择卸载项目(在这种情况下,您应该卸载要实现的项目)。
  • 之后再次右键单击并选择 edit.PROJECTNAME.csproj 并将 TargetFrameworkVersion 更新为 4.5 在此处输入图像描述

  • 右键单击并重新加载项目

那是我的解决方案。我希望它有所帮助。

于 2019-03-27T21:02:43.613 回答
1

你必须更新你的Visual Studio我认为它会解决问题。

于 2018-01-04T06:49:24.573 回答
0

我遇到了这个问题,Visual Studio Mac 的提示路径错误。较新版本的 VS Mac 似乎不允许您更改 Mono 版本,因此上述建议对我不起作用。

这是我必须改变的:

  1. 右键单击项目并选择“编辑项目文件”

  2. 查找导致您出现问题的库。例如:

    < Reference Include="Polly, Version=5.1.0.0, Culture=neutral, processorArchitecture=MSIL"> ....\packages\Polly.5.1.0\lib\ netstandard1.0 \ Polly.dll </HintPath>

(对不起,奇怪的标记......编辑器由于某种原因不喜欢 XML)

请注意,它的目标是netstandard1.0?好吧,如果它是 PCL 4.5,您需要将其更改为以下内容:

<Reference Include="Polly, Version=5.1.0.0, Culture=neutral, processorArchitecture=MSIL">
  <HintPath>..\..\packages\Polly.5.1.0\lib\net45\Polly.dll</HintPath>
</Reference>

如果您查看您的包文件夹,您应该会看到netstandard1.0文件夹旁边的 net45 文件夹。只要您的 packages.config 指向正确的目标框架,该包就应该已正确恢复。但是,不知何故 VS Mac 使用了错误的提示路径。我不知道这是否是一个错误,但我已经报告了它:)

于 2020-07-12T13:04:02.270 回答