C# 通用Windows平台和信号器(无法加载文件或程序集&x27;System.Net,版本=2.0.5.0)

C# 通用Windows平台和信号器(无法加载文件或程序集&x27;System.Net,版本=2.0.5.0),c#,windows,signalr,win-universal-app,visual-studio-2015,C#,Windows,Signalr,Win Universal App,Visual Studio 2015,当使用新的通用Windows平台和信号器客户端(来自Nuget)时,设置网络凭据时会发生奇怪的事情 以下代码可以完美地工作: NetworkCredential Connection_Credentials = new NetworkCredential( "Name", "Password" ); Microsoft.AspNet.SignalR.Client.Connection Connection = new Microsoft.AspNet.SignalR.Client.Connect

当使用新的通用Windows平台和信号器客户端(来自Nuget)时,设置网络凭据时会发生奇怪的事情

以下代码可以完美地工作:

NetworkCredential Connection_Credentials = new NetworkCredential( "Name", "Password" );
Microsoft.AspNet.SignalR.Client.Connection Connection = new Microsoft.AspNet.SignalR.Client.Connection( "http://localhost/Bla" );
但是,当您以以下方式分配NetworkCredential时,即使在执行代码之前,运行时也会崩溃:

NetworkCredential Connection_Credentials = new NetworkCredential( "Name", "Password" );
Microsoft.AspNet.SignalR.Client.Connection Connection = new Microsoft.AspNet.SignalR.Client.Connection( "http://localhost/Bla" );
Connection.Credentials = Connection_Credentials;
错误为:“System.IO.FileNotFoundException:无法加载文件或程序集'System.Net,版本=2.0.5.0,区域性=neutral,PublicKeyToken=7cec85d7bea7798e,可重定目标=Yes”或其依赖项之一。系统找不到指定的文件。\r\n在UAP2.MainPage.Page_加载(对象发送方,RoutedEventTargets e)

这是一个我可以自己修复的错误(我尝试对另一个项目进行了相同的修复)还是Signal程序包(或其依赖项之一)中存在问题。

为什么它要引用System.Net的2.0.5.0而不是4-*版本?

我没有这个问题的答案,但我在GitHub上报告了一个问题。希望有人最终会调查此事

编辑:


对signar.Client的源代码进行了一些测试,它在其
DefaultHttpHandler(IConnection连接)
构造函数中崩溃。最有可能的情况是在
System.Net.Http.HttpClientHandler
构造函数中(我没有源代码)。

解决方法应该是编译信号器客户端DLL,而不支持SL5-targeting.Net 4.5、Windows 8、Windows Phone Silverlight 8和Windows Phone 8.1,也称为PCL Profile 259。

这有点粗糙,但我找到了一个解决方案。基本上,您必须确保使用WinRT项目中的程序集,而不是NuGet附加的两个程序集。有关详细信息,请参见

这是一个新的universal store应用程序项目还是您正在升级或更改现有项目?2.0.5.0表示Silverlight(或基于Siverlight的WP应用程序)。与其标记非常通用的术语,如
.net
uap
,不如将其标记为
visual-studio-2015
@zeroskyx,我将在周一查看。甚至无法构建uap。试过两个不同的盒子。已安装Windows SDK,但VS显示“找不到SDK”Microsoft.NET.CoreRuntime,版本=1.0“我试过你的,也创造了一个新的-同样的结果。对不起,这里也有同样的问题。将UAP项目添加到现有的工作解决方案中,在该解决方案中,我可以毫无问题地编写Windows 8.1通用应用程序。得到相同的异常。此外,我们尝试了一个新的UAP项目,结果也是一样。正如我在Github上已经写过的那样,由于太多依赖关系被破坏,这将导致一个完全不可构建的项目。