我尝试将Signalr Client library和WebApi 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.
我也尝试过改变目标框架但没有成功。 这是我的项目的构建设置:
这是我的C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETPortable \ v4.5 \ Profile \ Profile259 \ SupportedFrameworks文件夹:
我在Mac OSX和Windows 10上都遇到了同样的错误。有什么想法吗?
答案 0 :(得分:2)
使用Profile78解决了我的问题。完整的解释here。
答案 1 :(得分:0)
一个简单的解决方法,适用于我的Xamarin和VS:
问题不在于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