Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# `PortableClient`构造函数在移动项目后失败_C#_.net_Portable Class Library_Portable Rest - Fatal编程技术网

C# `PortableClient`构造函数在移动项目后失败

C# `PortableClient`构造函数在移动项目后失败,c#,.net,portable-class-library,portable-rest,C#,.net,Portable Class Library,Portable Rest,我有一个可移植的类库项目,我刚刚从一个完全可移植的解决方案转移到一个只有特定项目可移植的解决方案中。PCL项目使用PortableRest库与一些web服务进行通信。当我将PCL项目转移到更大的项目中时,我就开始遇到一个例外: var client = new RestClient(); 如果我将相同的代码放在一个新的、不可移植的类库中,同样的代码行就可以正常工作。此代码在PCL代码中也可以正常工作,但仅在其原始解决方案中工作,而不是在新的解决方案中工作,因此除了PortableRest.Re

我有一个可移植的类库项目,我刚刚从一个完全可移植的解决方案转移到一个只有特定项目可移植的解决方案中。PCL项目使用
PortableRest
库与一些web服务进行通信。当我将PCL项目转移到更大的项目中时,我就开始遇到一个例外:

var client = new RestClient();
如果我将相同的代码放在一个新的、不可移植的类库中,同样的代码行就可以正常工作。此代码在PCL代码中也可以正常工作,但仅在其原始解决方案中工作,而不是在新的解决方案中工作,因此除了
PortableRest.RestClient
完全打算在可移植项目中运行之外,它在其主项目中工作,而不是在新的项目中

我在那一行得到的例外是:

MissingMethodException: "Method not found: 'Void System.Net.Http.HttpClientHandler.set_AutomaticDecompression(System.Net.DecompressionMethods)'."

也许值得强调的是:我根本没有更改任何代码。仅将使用
PortableClient的项目从一个解决方案移动到另一个解决方案。

您的意思是将现有项目移动到另一个解决方案中?您是如何指PortableRest的?例如,您的解决方案可能有不同的NuGet软件包版本?是的,我将PCL从面向PCL的解决方案移到了主解决方案中。这两种解决方案似乎对PortableRest使用相同的NuGet,即3.0.1问题可能在于PortableRest所依赖的版本。这些库在将特定于目标的DLL应用于解决方案中的项目时使用该技术。当您更改PCL配置文件时,NuGet可能会为您的项目分配一组新的HTTP客户端DLL,其中由于某些不幸的原因,
AutomaticDecompression
setter没有包括在内。在Xamarin PCL项目中使用RestSharp.Portable 3.1.3和RestSharp.Portalbe.HttpClient 3.1.3时,我遇到了相同的错误。我手动将Microsoft.Net.Http更新为2.2.29,但仍然没有成功。有什么想法吗?