无法将Signalr Client库作为可移植库添加到Xamarin项目

时间:2015-08-19 12:21:09

标签: c# xamarin xamarin.ios xamarin.android portable-class-library

我尝试将Signalr Client libraryWebApi client软件包添加到我的Xamarin解决方案中(在带有Xamarin支持的Visual Studio上以及Xamarin Studio上)但我总是会遇到此错误,尽管我可以安装其他PCL(例如Microsoft.Net.Http):

Could not install package 'Microsoft.AspNet.WebApi.Client 5.2.3'. You are trying to install this package into a project that targets 'portable-net45+sl50+win+wpa81+wp80+MonoAndroid10+xamarinios10+MonoTouch10', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
添加信号器时

和以下错误:

Adding Microsoft.AspNet.SignalR.Client...
Adding 'Microsoft.AspNet.SignalR.Client 2.2.0' to Corda.Client.
Could not install package 'Microsoft.AspNet.SignalR.Client 2.2.0'. You are trying to install this package into a project that targets 'portable-net45+sl50+win+wpa81+wp80+MonoAndroid10+xamarinios10+MonoTouch10', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.

我也尝试过改变目标框架但没有成功。 这是我的项目的构建设置: Project settings

这是我的C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETPortable \ v4.5 \ Profile \ Profile259 \ SupportedFrameworks文件夹: PCL profiles folder

我在Mac OSX和Windows 10上都遇到了同样的错误。有什么想法吗?

4 个答案:

答案 0 :(得分:2)

使用Profile78解决了我的问题。完整的解释hereenter image description here

答案 1 :(得分:0)

一个简单的解决方法,适用于我的Xamarin和VS:

  1. 在此处手动下载dll文件:https://components.xamarin.com/gettingstarted/signalr/true
  2. 将以下内容导入您的解决方案。
    • Microsoft.AspNet.SignalR.Client.dll
    • Newtonsoft.Json.dll
    • System.Net.Http.Extensions.dll
    • System.Net.Http.Primitives.dll
  3. 完成!
  4. 问题不在于dll文件,而在于(nuget)安装程序。

答案 2 :(得分:0)

问题在于nuget包管理器,特别是Windows Phone 8.1项目。我认为它预计它将成为Windows Phone Silverlight 8.1项目。在xamarin项目中的通用8.1电话项目上安装信号器客户端有一个错误。它应该在下一个xamarin版本中进行整理。在便携式配置中取消选择Windows Phone 8.1解决了这个问题,这意味着您必须从xamarin项目中取出Windows Phone 8.1项目,并且需要创建一个通用的Windows 10项目。

答案 3 :(得分:0)

是的,正如其他人所说,这是来自nuget包管理器的问题,根据这个链接,它应该用Microsoft.signalr.client 2.2.1版本的版本修复,但是现在如果你仍然想要使用nuget ,添加以下nuget源 https://www.myget.org/F/aspnetwebstacknightly/ 到visual studio并安装信号器客户端dll的预发布版本2.2.1 pre-160523-b816,如下面链接所示 https://github.com/SignalR/SignalR/issues/3393