无法安装NuGet包Microsoft.Bcl.Build 1.0.14。

9
我正在使用VS 2013制作一个多平台应用程序,包括iOS、WinPhone和Android。我想将名为Microsoft Http Clients Libraries的Nuget Packages添加到iOS引用文件夹中,但是我无法这样做,因为我遇到了以下错误:
“无法安装软件包'Microsoft.Bcl.Build 1.0.14'。您试图将此软件包安装到一个目标为'Xamarin.iOS,Version=v1.0'的项目中,但该软件包不包含任何与该框架兼容的程序集引用或内容文件。有关更多信息,请联系软件包的作者。”
请问有人可以帮我解决这个问题吗?

1
我刚在一个新项目上尝试了这个,添加包没有任何问题。你最近更新了Xamarin吗? - angak
嗨,一个gas。您是正确的,没有清除Xamarin版本,这会使情况变得更糟。谢谢。 - Alejandro Castán
请接受伊万的答案,该答案似乎有效,并解释了问题的原因。 - Quality Catalyst
6个回答

25

我遇到了同样的问题,显然无法安装Bcl.Build 1.0.14,但你可能不需要那个旧版本。

当我尝试将WindowsAzure.MobileService添加到iOS Xamarin项目中时,就会出现这个问题。 它失败了,因为最低支持的Bcl.Build必须是1.0.14,但如果你有一个更新的版本,安装得相当顺利,你将能够添加其他依赖于它的软件包。

所以: 1. 单独安装Microsoft.Bcl.Build软件包(最新版) 2. 安装依赖于它的软件包。


1
希望BCL团队能尽快修复这个问题。 - Konstantin
1
谢谢,单独安装构建包对我有用。 - masterwok

5

前往 -> 解决方案 -> 管理解决方案的包 -> 在选项卡"浏览"中 -> 选择以下两个选项:

第一个:

安装版本更高的"Microsoft.Bcl.Build"软件包,版本必须在1.0.21以上。

第二个:

完成上一步后,现在安装版本更高的"Microsoft.Net.Http"软件包,版本必须在2.2.29以上。

结果: 我的问题已经解决了!


1
谢谢Jonathan。当我第一次尝试时,这对我也起作用了。 - TwoPea

1
在Visual Studio 2017中,我遇到了上述错误,并通过先在Xamarin.Android上安装Microsoft.Bcl.Build,然后安装Microsoft.Net.Http和System.Net.Http来解决了这个问题,但是Xamarin.IOS和Xamarin.UWP没有出现问题。

1

Microsoft.Bcl.Build 1.0.14可以安装到Xamarin.iOS项目中。

如果发生以下情况,则可能失败:

  1. 您的NuGet包管理器不是最新的。
  2. 您没有安装用于Xamarin.iOS的可移植类库配置文件。

如果您安装了最新的Xamarin版本,则很可能是NuGet包管理器没有更新。您可以从 "工具" - "扩展和更新" - "更新" - "Visual Studio Gallery"中更新它。


嗨,马特,我已经解决了升级Xamarin版本的问题,无论如何感谢您的帮助。最好的问候。 - Alejandro Castán
我也遇到了同样的问题,但这并没有解决它。这是一个大约在XF 1.3左右的现有项目。我的所有东西都是最新的。实际上,我有两个iOS项目,一个可以使用BCL,另一个则不行。 - Julien
@Julien - 所以在另一个项目中,您无法安装Microsoft.Bcl.Build 1.0.14,但在另一个项目中可以吗?而您无法安装到针对Xamarin.iOS,Version=v1.0的项目中时,会出现安装失败的错误? - Matt Ward

1
我找到了解决方案并在此分享,以防有人遇到同样的问题。 首先,为所有项目安装 "Microsoft.Bcl.Build.1.0.21"。 现在,您可以安装 "PortableRest",所有依赖于 Microsoft.Bcl.Build 的依赖项将正确安装。

我刚遇到了这个问题,你的解决方案对我很有效! - Mohamed Ali

0
我在尝试在我的Xamarin.Forms项目中安装Microsoft.Net.Http时遇到了问题。以下是您必须尝试以摆脱此错误的步骤:
1- 在解决方案的每个项目中更新Xamarin.Forms到最新版本。
2- 由于我的主要目的是安装Microsoft.Net.Http,而此软件包依赖于Microsoft.BCL和Microsoft.BCL.Build。我尝试单独安装这些软件包(Microsoft.Bcl和Microsoft.Bcl.Build),并且它对我有用。首先安装最新版本的Microsoft.Bcl.Build 1.0.21(如果1.0.14未安装,请尝试最新版本)。然后,安装Microsoft.Bcl,应该成功安装此软件包,这个解决方案对我有效,我希望对您也有效。在单独安装这些软件包后,我能够成功安装Microsoft.Net.Http。
注意:在将软件包(Microsoft.Bcl和Microsoft.Bcl.Build)安装到您的项目中时,请检查您正在安装哪个版本。如果一个版本不起作用,请尝试安装另一个版本,并让我知道是否无法解决问题。

祝你有美好的一天 :)


是的,这对我也起作用了。只是不明白为什么如果这些是Microsoft.Net.Http的依赖项,它就不能自动安装它们。 - Donna

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接