无法解决,因为它是针对" .NETPortable,Version = v5.0"骨架

时间:2018-01-03 10:58:10

标签: .net xamarin.forms portable-areas

我正在尝试在我的xamarin应用程序中实现fingertouch登录

为此我安装了包Plugin.Fingerprint版本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 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我通过以下步骤解决了此问题:

  • 右键单击项目并选择卸载项目(在这种情况下,您应该卸载 您想要实现的。
  • 之后,再次右键单击并选择edit.PROJECTNAME.csproj并将TargetFrameworkVersion更新为4.5 enter image description here

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

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

答案 2 :(得分:0)

我的问题是我不小心在Mac上安装了VS 2019。我只想更新VS 2017,但是您必须非常仔细地阅读所做的更改(前面没有暗示您要升级VS!)。然后我发现a way to downgrade VS on Mac VisualStudioForMac-7.8.4.1 。之后,我发现我的Jenkins构建(使用msbuild)无法解决上述故障。

  

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

msbuild版本从 16.0.42-preview + g804bde742b 更改为 16.0.459 + g5b35a69a2e 。切换到xbuild会显示警告,并且未找到Java版本(对于Droid)。

幸运的是,我找到了this post,其中描述了解决方案。

TLDR:

答案 3 :(得分:0)

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

这是我必须更改的:

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

  2. 查找引起问题的库。例如:

    <参考Include =“ Polly,版本= 5.1.0.0,文化=中性,processorArchitecture = MSIL”> .... \ packages \ Polly.5.1.0 \ lib \ netstandard1.0 \ Polly.dll

(对不起,奇怪的标记。由于某些原因,编辑器不喜欢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>

如果查看packages文件夹,则应该在netstandard1.0文件夹旁边看到 net45 文件夹。只要您的packages.config指向正确的目标框架,该程序包就应该已正确还原。但是,VS Mac以某种方式使用了错误的提示路径。我不知道这是否是一个错误,但是我还是报告了它:)