无法将 Signalr Client 库作为可移植库添加到 Xamarin 项目
Cannot add the Signalr Client library as a portable library to a Xamarin project
我尝试将 Signalr Client library and the WebApi client 包添加到我的 Xamarin 解决方案中(在 Visual Studio 上使用 Xamarin 支持以及在 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.
并且添加Signalr时出现如下错误:
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。有什么想法吗?
使用 Profile78 解决了我的问题。完整解释 here。
一个简单的解决方法,适用于我的 Xamarin 和 VS:
- 在此处手动下载 dll 文件:https://components.xamarin.com/gettingstarted/signalr/true
- 将以下内容导入您的解决方案。
- Microsoft.AspNet.SignalR.Client.dll
- Newtonsoft.Json.dll
- System.Net.Http.Extensions.dll
- System.Net.Http.Primitives.dll
- 完成!
问题不在于 dll 文件,而在于 (nuget) 安装程序。
问题出在 nuget 包管理器上,特别是 Windows Phone 8.1 项目。我认为它应该是一个 windows phone silverlight 8.1 项目。在 xamarin 项目中的通用 8.1 phone 项目上安装 signalr 客户端时存在错误。它应该在下一个 xamarin 版本中被整理出来。在便携式配置中取消选择 windows phone 8.1 解决了这个问题,这意味着您必须将 windows phone 8.1 项目从 xamarin 项目中取出,并且您需要创建一个通用 windows 10 个项目。
是的,正如其他人所建议的,这是 nuget 包管理器的问题,根据这个 link 它应该通过 Microsoft.signalr.client 2.2.1 版本的 realease 修复,但现在如果你仍然想使用 nuget,添加以下 nuget 源
https://www.myget.org/F/aspnetwebstacknightly/
到 visual studio 并按照下面的建议安装 signalr 客户端 dll 的预发布版本 2.2.1 pre-160523-b816 link
https://github.com/SignalR/SignalR/issues/3393
我尝试将 Signalr Client library and the WebApi client 包添加到我的 Xamarin 解决方案中(在 Visual Studio 上使用 Xamarin 支持以及在 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.
并且添加Signalr时出现如下错误:
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。有什么想法吗?
使用 Profile78 解决了我的问题。完整解释 here。
一个简单的解决方法,适用于我的 Xamarin 和 VS:
- 在此处手动下载 dll 文件:https://components.xamarin.com/gettingstarted/signalr/true
- 将以下内容导入您的解决方案。
- Microsoft.AspNet.SignalR.Client.dll
- Newtonsoft.Json.dll
- System.Net.Http.Extensions.dll
- System.Net.Http.Primitives.dll
- 完成!
问题不在于 dll 文件,而在于 (nuget) 安装程序。
问题出在 nuget 包管理器上,特别是 Windows Phone 8.1 项目。我认为它应该是一个 windows phone silverlight 8.1 项目。在 xamarin 项目中的通用 8.1 phone 项目上安装 signalr 客户端时存在错误。它应该在下一个 xamarin 版本中被整理出来。在便携式配置中取消选择 windows phone 8.1 解决了这个问题,这意味着您必须将 windows phone 8.1 项目从 xamarin 项目中取出,并且您需要创建一个通用 windows 10 个项目。
是的,正如其他人所建议的,这是 nuget 包管理器的问题,根据这个 link 它应该通过 Microsoft.signalr.client 2.2.1 版本的 realease 修复,但现在如果你仍然想使用 nuget,添加以下 nuget 源 https://www.myget.org/F/aspnetwebstacknightly/ 到 visual studio 并按照下面的建议安装 signalr 客户端 dll 的预发布版本 2.2.1 pre-160523-b816 link https://github.com/SignalR/SignalR/issues/3393