Restsharp: 仅支持 .NET Standard 2.0 和 .NET Framework 4.5.2

创建于 2017-09-03  ·  89评论  ·  资料来源: restsharp/RestSharp

这是一部结合所有相关问题的史诗

最有用的评论

支持 .NET Standard 2.0 意味着支持所有这些平台

  • .NET 框架 4.6.1
  • .NET 核心 2.0
  • 单声道 5.4
  • Xamarin.iOS 10.14
  • Xamarin.Mac 3.8
  • Xamarin.Android 7.5
  • UWP vNext(今年晚些时候发货)

当使用向后兼容性 shim运行 RestSharp 时,它在大多数情况下都有效,只是用于调用 HTTP 调用的底层类存在问题 - 如果 HTTP 客户端被新的 HttpClient切换出,它应该可以工作。

就个人而言,我们在办公室中大量使用 RestSharp,并且我们已经在研究使用 ASP.NET Core 运行的基于云的新解决方案,因此我们非常希望看到 RestSharp 升级到最新的 .NET版本,这样我们就不必切换到新的 REST 库。

所有89条评论

938

支持 .NET Standard 2.0 意味着支持所有这些平台

  • .NET 框架 4.6.1
  • .NET 核心 2.0
  • 单声道 5.4
  • Xamarin.iOS 10.14
  • Xamarin.Mac 3.8
  • Xamarin.Android 7.5
  • UWP vNext(今年晚些时候发货)

当使用向后兼容性 shim运行 RestSharp 时,它在大多数情况下都有效,只是用于调用 HTTP 调用的底层类存在问题 - 如果 HTTP 客户端被新的 HttpClient切换出,它应该可以工作。

就个人而言,我们在办公室中大量使用 RestSharp,并且我们已经在研究使用 ASP.NET Core 运行的基于云的新解决方案,因此我们非常希望看到 RestSharp 升级到最新的 .NET版本,这样我们就不必切换到新的 REST 库。

@qJake由于 .NET Standard 2.0 具有极大扩展的 API 表面,因此肯定可以保留 HttpWebRequest 而不是切换到 HttpClient。 也许您在使用垫片时遇到的问题不再存在?

为什么是 .NET Standard 2.0? 请考虑以最低可用版本为目标。

@mguinness@dotnet/corefx项目中看到此评论- HttpWebRequest不是 .NET Standard 的一部分,但System.Net.Http.HttpClient是。

请考虑也支持 UWP 当前版本。 (秋季创作者更新之前)

UWP 当前版本意味着 netstandard1.4。 我不确定这会带来什么后果,需要开始实验。

@qJake HttpWebRequest在 .NET Standard 2.0 中,您的断言仅适用于 .NET Standard 1.6 及更低版本。

@mguinness哦,我明白了 - 那么这提出了一个挑战 - 由于 RestSharp 使用 HttpWebRequest/Response,我们是否只支持 .NET Standard 2.0 并坚持使用这些类,或者我们是否重构底层客户端并切换到HttpClient ,允许我们支持旧版本的 .NET Standard?

由于当前版本的 UWP 存在问题,人们想要 1.4。 NETStandard 2.0 将仅在 UWP vNext 中受支持。

@qJake FWIW,还有System.Net.Requests nuget 包,可用于 .NET Standard 的早期版本。

嘿伙计们,关于这个的任何更新或预计到达时间? 计划在我的 dotnet core 2 应用程序上使用 RestSharp,但我不想切换包。

它正在进行中。 遗留的东西已被删除,但我们可能也会将 JSON.NET 一起发布到版本中。 敬请关注。

在制品: https :

我需要将它用于 AWS Lambda,但是在使用 RestSharp.NetCore 105.2.3 时 AWS 返回错误
-- 检测到包降级:System.Reflection 从 4.3.0-preview1-24530-04 到 4.1.0。

意味着 RestSharp 使用 4.1 但 AWS 支持 4.3 版本集,用于 .NetCoreApp 1.0。

我们是依赖于 System.Runtime.Serialization.Primitives.4.3.0-preview1-24530-04 的版本吗?

我们正在转向 .net 核心,刚刚发现我们无法从 .net 标准 2.0 引用 RestSharp,nuget 包无法安装。

使用“.NETFramework,Version=v4.6.1”而不是项目目标框架“.NETStandard,Version=v2.0”恢复了包“RestSharpSigned 105.2.3”。 此包可能与您的项目不完全兼容。
包还原失败。 回滚包更改

@trampster我认为你误解了状态。 官方 RestSharp 包不支持 .NET Standard,上次更新是在 2015 年。 alexeyzimarev 正在进行的转换尚未发布 AFAIK。

我明白,我发帖是为了帮助表明对它的需求。 还表明 Microsoft 在发布 .net 标准 2.0 时宣布的用于从 .net 标准 2.0 引用 .net 完整 dll 的 .NET Framework 兼容模式在此处不起作用。 所以没有解决办法,我们被阻止了。

我们宁愿不必转移到另一个 Rest 库,但如果需要,我们会这样做。 这将取决于此转换需要多长时间。

有趣的是,nuget https://www.nuget.org/packages/RestSharp.NetCore上有一个 RestSharp.NetCore 包,下载量为 98,895,但据我所知,上传者与项目无关,所以我不知道如果我可以相信它。

@trampster这是一个 nuget 警告(可以被抑制),请参阅Reusing an existing .NET Framework library 。 另外,您的 csproj 中的目标框架是什么,是 netcoreapp2.0 还是 v4.6.1?

再看最后一行。 它回滚了它。 之后我没有提到RestSharp。

此外,如果您阅读我的帖子,将会看到我正在尝试从 .net 标准 2.0 而非 netcore2.0 或 v4.6.1 使用它。

还应该注意的是,警告说使用了 v4.6.1 但 RestSharp nuget 包没有 v4.6.1

@trampster我已经使用兼容性桥将它成功安装到 .NET Core 2.0 应用程序中,但是当我去运行它时,我得到一个运行时异常,归结为HttpWebRequest 。 我没有遇到任何 NuGet 包安装失败,所以这很奇怪。 😃

我也遇到了这个问题:\

只有在面向完整框架的情况下,才能在 .NET Core 应用程序中使用当前的

我创建了一个新的 .NET Core 控制台应用程序,从包管理器运行Install-Package RestSharp -Version 105.2.3并将以下代码添加到 Main 中:

```C#
var client = new RestClient();
client.BaseUrl = new Uri("https://api.github.com/");

var request = new RestRequest();
request.Resource = "users/restsharp/repos";

var response = client.Execute(request);
``

定位 netcoreapp2.0 将提供System.PlatformNotSupportedException: Operation is not supported on this platform.但如果您在 csproj 中更改为<TargetFramework>net46</TargetFramework>它将起作用。

我们不是针对完整的框架

@niemyjski也许在您等待此库更新时尝试RestSharp.NetCore 。 以下库正在使用它,因此它应该足够稳定以供使用。

ADH.PushCore
AppVeyorSharp
核心库
沙发数据库客户端
DocuSign.NetCore
Flip.PomboCorreio.Connector
FluentEmail.Mailgun
GiphyApiClient.NetCore
对讲核心
IronSphere.Henchmen
MasterCard-Core-非官方
mbank-dotnet
MessageMedia.REST.API.NetCore
Minio.NetCore
Mix.Integrate.Api.Client
OdinSdk.BaseLib.Core
OneSignal.AspNet.Core.SDK
OneSignal.CSharp.SDK.Core
Onlinesites.ShopFacilBradesco
pusher-http-dotnet-core
存储库框架.Api
RepositoryFramework.EntityFramework
RestSharp.Newtonsoft.Json
RestSharp.Newtonsoft.Json.NetCore
Slack.Webhooks.Core
StoneCo.PomboCorreio.Connector
SwitchAPI.Connector
Syncromatics.Clients.Metro.Api
TransportApi.Sdk.NetCore
Twilio.NetCore
实用程序框架.应用程序.核心
UtilityFramework.Services.Iugu.Core

有谁知道 RestSharp.NetCore 的上传者是谁? 我看着那里的 github,他们没有 RestSharp 的分支。 包上没有列出许可证,我知道它是恶意的。

拥有这个项目的人应该寻求 restsharp 包命名空间的所有权......并且可能会将该包除名。 我可能会通过反编译来查看该包是否包含任何恶意内容

2017 年 10 月 5 日晚上 10:57,

@niemyjski (https://github.com/niemyjski) 也许在等待这个库更新时尝试 RestSharp.NetCore (https://www.nuget.org/packages/RestSharp.NetCore/)。 以下库正在使用它,因此它应该足够稳定以供使用。

ADH.PushCore
AppVeyorSharp
核心库
沙发数据库客户端
DocuSign.NetCore
Flip.PomboCorreio.Connector
FluentEmail.Mailgun
GiphyApiClient.NetCore
对讲核心
IronSphere.Henchmen
MasterCard-Core-非官方
mbank-dotnet
MessageMedia.REST.API.NetCore
Minio.NetCore
Mix.Integrate.Api.Client
OdinSdk.BaseLib.Core
OneSignal.AspNet.Core.SDK
OneSignal.CSharp.SDK.Core
Onlinesites.ShopFacilBradesco
pusher-http-dotnet-core
存储库框架.Api
RepositoryFramework.EntityFramework
RestSharp.Newtonsoft.Json
RestSharp.Newtonsoft.Json.NetCore
Slack.Webhooks.Core
StoneCo.PomboCorreio.Connector
SwitchAPI.Connector
Syncromatics.Clients.Metro.Api
TransportApi.Sdk.NetCore
Twilio.NetCore
实用程序框架.应用程序.核心
UtilityFramework.Services.Iugu.Core


你收到这个是因为你被提到了。
直接回复本邮件,在 GitHub 上查看(https://github.com/restsharp/RestSharp/issues/992#issuecomment-334651808),或将线程静音(https://github.com/notifications/unsubscribe-auth /AA-So9HrYQHV5nlV1m7W7eY-y_F5cBqqks5spaUXgaJpZM4PLH2m)。

@alexeyzimarev 今天是否有机会获得预发布的 nuget 软件包? 即使它是一个测试版并且所有测试都在工作,但其他一些事情可能会发生变化。

遗憾的是 RESTsharp 不适用于 Core 2.0。 猜猜是回到了 HttpClient

@niemyjski不,抱歉。 我正在将 WebRequest 更改为 HttpClient,这是一个很大的变化。 这样做的原因是 WebRequest 仅适用于 netstandard 2.0,我们希望支持 1.6。

@niemyjski如果您想提供帮助,我可以将更改发布到单独的分支-

我现在实际上切换到了 netstandard 2.0。 netstandard 1.6 似乎工作太多了。 但是我还是想用HttpClient。

看看这个: https :
欢迎 PR。

@amivit您可以贡献一些时间来实现它,对吗?

我正在将 WebRequest 更改为 HttpClient,这是一个很大的变化。 这样做的原因是 WebRequest 仅适用于 netstandard 2.0,我们希望支持 1.6。

这是一个不正确的陈述,因为有System.Net.Requests nuget 包。

最初坚持使用 WebRequest 然后随着时间的推移过渡到 HttpClient 会不会很困难?

@mguinness你试过使用这个包吗? 我做到了。

@mguinness我们可以说 - 忘记 1.6,我们选择 2.0 并保留 WebRequest。 我个人对此没有意见。

抱歉@alexeyzimarev我没有时间做出贡献。 我希望。 我只是很惊讶 RESTsharp 一开始并不依赖 HttpClient。 自 2012 年或 .NET 4.5 以来,它不是对 WebClient 的可用改进吗?

@amivit可能是如果它没有

对不起,这里只是咪咪 :rofl:
但是在将我的客户端应用程序升级到 .net core 2.0 之后,我收到了一些关于 RestSharp 的警告:

警告 NU1603:RestSharp.NetCore 105.2.3 取决于 System.Runtime.Serialization.Formatters (>= 4.0.0-rc4-24217-03) 但 System.Runtime.Serialization.Formatters 4.0.0-rc4-24217-03 不是成立。 解决了 System.Runtime.Serialization.Formatters 4.3.0-preview1-24530-04 的近似最佳匹配。

我暂时没有尝试执行该应用程序 - 我想它不会工作。
所以,RestSharp 还不支持 .net core 2.0。 但是,会有那么一天吗? 已经有约会了吗? 我可以帮助实现这一目标(作为贡献者)吗?

@matthiasburger检查 netstandard 分支。 我在您的评论上方的几篇文章中提到了这一点。

现在使用 2.0。 以后可以随时将其更改为 http 客户端...另外
确保您有编译器指令以使其具有同步方法
(框架)

谢谢
——布莱克·涅米斯基

2017 年 10 月 11 日星期三上午 6:43,Alexey Zimarev通知@github.com
写道:

@matthiasburger https://github.com/matthiasburger检查网络标准
分支。


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/restsharp/RestSharp/issues/992#issuecomment-335782906
或静音线程
https://github.com/notifications/unsubscribe-auth/AA-So8akA6MlKfoypWDSAqaElcYBPFoAks5srKnUgaJpZM4PLH2m
.

sry @alexeyzimarev有时我应该阅读所有内容 - 太好了。 我看看它:)

@niemyjski所有 pragma 指令都被删除。 我不希望每个平台、框架等有任何偏差。这是 netstandard 声明要解决的问题,我将使用它。

好的,所以netstandard分支现在为有符号和无符号构建。 我仍然有四个测试失败(编码、解码)。 尚未包括集成测试。 希望我能在本周完成代码,但构建和打包需要做更多的工作才能切换到 DotNetCli。

好的,一切似乎都有效。 由于来自 HttpListener(集成)的不受支持的异常,我不得不有条件地忽略两个测试。 期望它在与适当的服务器一起使用时可以工作。

现在需要更改构建脚本以使用 DotNetCli 并停止使用 nuget.exe

保持出色的工作@alexeyzimarev! 等不及第一次发布了👍

在 VS2017 和针对 .NET Core 2.0 的真实 IIS 中测试了 106.0.0-alpha0277

ErrorException: System.PlatformNotSupportedException: 此平台不支持操作。
在 System.Net.SystemWebProxy.GetProxy(Uri 目的地)
在 System.Net.ServicePointManager.ProxyAddressIfNecessary(Uri& 地址,IWebProxy 代理)
在 System.Net.ServicePointManager.FindServicePoint(Uri 地址,IWebProxy 代理)
在 System.Net.HttpWebRequest.get_ServicePoint()
在 RestSharp.Http.ConfigureWebRequest(String method, Uri url)
在 RestSharp.Http.PostPutInternal(String 方法)
在 RestSharp.Http.AsPost(String httpMethod)
在 RestSharp.RestClient.DoExecuteAsPost(IHttp http, String 方法)
在 RestSharp.RestClient.Execute(IRestRequest request, String httpMethod, Func`3 getResponse)

我知道他们加班添加了很多 IsXYZ 方法,也许我们需要在调用这些方法或包装它们之前检查这些方法?

在 Linux 下开始运行这些测试会很好,因为我认为它会发现比在 Windows 上更多的问题。

@ maciek12305在这里复制粘贴一个异常是不够的,因为我不知道你是怎么到那里的。

@niemyjski我同意在 Linux 上运行测试,但这需要设置新的 CI 构建。 稍后我会看看特拉维斯,希望是下周。

好的,问题是 .NET Core 不支持默认代理,因为默认代理的设置是从注册表加载的。

因此,如果您不使用代理,它应该可以工作,如果使用代理,它将在 .NET Core 上崩溃。 现在我添加了“默认代理”类,它说绕过一切直接去。 如果您必须使用代理 - 您必须使用ConfigureProxy方法提供它。

请尝试最新的包: https :

@niemyjski实际上集成测试在 Mac 上通过得很好。 所以我想它也应该适用于 Linux。

@alexeyzimarev最新的软件包在 Win 10 上对我不起作用。我让它工作的唯一方法是在我的代码中包含以下内容:

C# //https://github.com/dotnet/corefx/commit/6acd74dda7bc4f585d2c4006da4a8b2deb0261ad var proxy = WebRequest.DefaultWebProxy; WebRequest.DefaultWebProxy = null;

@mguinness那么为什么要在proxy变量中保留旧值(不确定它是什么)? 我想唯一可以产生任何区别的行是

WebRequest.DefaultWebProxy = null;

如果这有帮助,我可以轻松添加它。

@alexeyzimarev框架中存在一个错误,它提交了“WebRequest.DefaultWebProxy:如果没有先前的 Get,则设置不起作用”修复程序。

我现在知道了。 我可以尝试通过将请求代理属性设置为 null 而不是操作默认属性来制作一个包。

@mguinness新包已经出来了,感谢您的帮助!

@mavanmanen你也可以用 UWP 试试这个吗? https://www.nuget.org/packages/RestSharp/106.0.0-alpha0282

对于 106.0.0-alpha0282 版本,同样的错误“此平台不支持操作”。

@remiskaune您是否尝试在代码中包含这些行?

var proxy = WebRequest.DefaultWebProxy;
WebRequest.DefaultWebProxy = null;

谢谢。 它现在适用于版本 106.0.0-alpha0282 上的这一行。

所以问题是为什么没有它就不能工作,因为我在 RestSharp 代码中包含了这些行......

也许 WebRequest 有不同的范围? 它是静态类还是实例化的?

您可以通过制作示例应用程序来找出答案,并在您的示例应用程序中检查:

WebRequest.DefaultWebProxy

并且还公开了一些 RestSharp 发送它看到的值的方法(用于调试目的) - 例如:

public IWebProxy GetCurrentProxy() => WebRequest.DefaultWebProxy;

看看两者有什么不同?

@qJake如果有人可以为我调试,我将不胜感激:) 下周之前我将无法花任何时间在这上面,我将在会议上发言。

通过将WebRequest.DefaultProxy分配给 null 来“修复”代理问题的新软件包可用。 这可能会产生后果,但我不希望出现真正的问题。 该解决方法仅添加到 .NET Standard 程序集。 .NET Framework 程序集应该像以前一样工作。
https://www.nuget.org/packages/RestSharp/106.0.0-alpha0284

如果没有问题报告,我将开始准备发布。

这里的反应相当积极。 我正在尝试让依赖包工作(Atlassian.JIRA)并假设我的目标是 .NET 标准 2.0,然后他们所有的集成/单元测试都“正常工作”,所以 LGTM。

https://bitbucket.org/farmas/atlassian.net-sdk/issues/306/support-for-dotnet-core用于该端的线程。

我已经针对我们的解决方案对其进行了测试,并且效果很好。

我们从 .net 标准 2.0 项目和 .net 4.6.1 项目中使用它

从 .net 4.6.1 使用时。 项目它引入了以下引用,visual studio 用黄色感叹号标记。
系统.Net.Http
System.Runtime.Serialization.Primitives
系统.安全.密码学.算法
系统.安全.密码.编码
系统.安全.密码学.原语
System.Security.Cryptography.X509Certificates

我不确定为什么会这样,但是它似乎不会引起任何问题。

我们遇到的一个小问题是我们使用 clickonce 来分发我们的工具之一,因此我们被迫对所有内容进行强命名。 然而,预发布版本不是强命名的。 我们一直在使用包的 RestSharpSigned 版本,但没有支持 .net 标准的预发布版本。

如果您有两个依赖项,一个依赖于强命名版本,另一个依赖于非强命名版本,那么拥有强命名和非强命名版本可能会出现问题。

相反,我建议使用一个签名并冻结到您的程序集版本的主要版本的包(在 SemVer 中,主要版本仅在您破坏兼容性时才会更改),然后在您的 FileVersion 上使用完整的 SemVer。 这样你就有了一个每个人都可以使用的 nuget 包(强命名与否),并且主要版本冻结意味着不需要绑定重定向。 使用 SemVer 意味着每个人都知道他们在兼容性方面的确切位置。

我在这里建议这样做,因为切换到 .net 标准可能是进行此更改的好时机。

我们应该默认对包进行签名并将密钥放在 GitHub 中,.net 团队建议这样做,因为它不会伤害任何东西。

有 PR 可以查看更改吗?

@niemyjski我假设develop分支对所有人可见。 我也把它作为默认分支。

@niemyjski "Just" 在这种情况下不起作用。 如果你想帮忙 - 请做。 我不得不删除Signed项目,因为它们由于 nuget 中的错误而导致整个解决方案构建失败。
https://github.com/dotnet/standard/issues/538
https://github.com/NuGet/Home/issues/6038

所以要么我需要等到它被修复,要么我必须添加一个单独的解决方案和项目,然后手动包含所有文件,这很糟糕。

@alexeyzimarev只有一个 csproj 并签名,冻结程序集版本号(到主要版本)以避免绑定重定向问题。 对 nuget 和文件版本使用标准 SemVer。 这将解决您的所有问题。

如果您坚持保留两个版本(这会给您的用户带来问题),那么您仍然可以通过配置使用单个 csproj 执行此操作。

在我意识到拥有两个版本是多么糟糕之前,我最初是在我自己的项目中这样做的(并且它有效)。 基本上我添加了一个 StrongName 属性组。 然后使用 dotnet build -c StrongName 构建

<PropertyGroup Condition="'$(Configuration)'=='StrongName'">
    <PackageId>Jsonics.StrongName</PackageId>
    <NetStandardImplicitPackageVersion>1.6.1</NetStandardImplicitPackageVersion>
    <PackageVersion>0.1.0-alpha</PackageVersion>
    <Optimize>true</Optimize>
    <AssemblyOriginatorKeyFile>Jsonics.snk</AssemblyOriginatorKeyFile>
    <SignAssembly>true</SignAssembly>
    <PublicSign Condition="'$(OS)' != 'Windows_NT'">true</PublicSign>
</PropertyGroup>

如果您等待解决您提出的问题,那么您可能要等待很长时间。

这将解决您的所有问题。

我就喜欢。

物业组的建议很有价值。 我会尽量保留两个包,否则会造成混乱。 我可能是错的,但就我个人而言,我会避免签名。 但是既然你需要它 - 我会尝试用签名的程序集制作一个包。

@niemyjski你有“.net 团队推荐这个”的链接吗? 我需要更多地了解后果以及他们建议这样做的确切方式。

我和他们谈过,我知道他们也公开说过
论坛和松弛。 这是个笑话,应该删除(
https://twitter.com/terrajobst/status/774752534682402817.. 最好
只是强命名程序集...我们强命名所有我们的程序集和
把签名的 snk 留在 repo 中,因为这是一个笑话。 任何拥有十六进制编辑器的人
可以绕过强名称签名,它只会伤害那些需要
签署他们的包免于依赖。 你可以参考一个强大的
从一个未签名的包中签名的包,那么为什么不直接签名呢?
时间。

https://github.com/FoundatioFx/Foundatio/blob/master/src/Foundatio/Foundatio.csproj

谢谢
——布莱克·涅米斯基

2017 年 11 月 1 日星期三下午 1:30,Alexey Zimarev通知@github.com
写道:

@niemyjski https://github.com/niemyjski你有“The .net
团队推荐这个“?我需要更多地了解后果以及如何
正是他们建议这样做。


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/restsharp/RestSharp/issues/992#issuecomment-341197289
或静音线程
https://github.com/notifications/unsubscribe-auth/AA-So94xh-jiEMniw0D2QaGQPgT9zfBfks5syLjDgaJpZM4PLH2m
.

好吧,我就签了。

你应该在 github 上创建一个发布标签。 :)

标记

106.1.0 的发行说明提到:
“修复了 .NET Core 上的代理问题”

不确定该修复涵盖哪些内容,但我们仍然面临使用代理的问题。
在我们的 .NET Core 2.0 端口(来自 .NET Framework 4.6.1)之前,我们像这样对客户端进行了实例化,并且它的工作非常出色。

 _restClient = new RestClient(DanskStatistikApi)
 {
         Proxy = WebRequest.GetSystemWebProxy()
 };
 _restClient.Proxy.Credentials = CredentialCache.DefaultCredentials;

在 .NET Core 2.0 项目中使用相同的代码会给我们以下响应错误:

System.PlatformNotSupportedException: Operation is not supported on this platform.

触发请求的代码如下所示:

var taskCompletion = new TaskCompletionSource<IRestResponse>();
var asyncHandle = _restClient.ExecuteAsync(request, r => taskCompletion.SetResult(r));
var response = (RestResponse)(await taskCompletion.Task);

有什么想法吗?

谢谢,
弗雷德

你有 .NET Core 2.0 的工作代码吗?

因为如果您检查堆栈跟踪,您会发现这不是我们的异常,而是 .NET 尝试获取默认代理时的异常。

是的,你是对的@alexeyzimarev ,异常最终在 System.Net.SystemWebProxy.GetProxy 上抛出,我很快就触发了。 :)

对于遇到相同问题的其他人,您可以像这样明确指定要使用的代理:

var restClient = new RestClient(DanskStatistikApi)
{
     Proxy = new System.Net.WebProxy("your-proxy-url-goes-here", 8080)
};
restClient.Proxy.Credentials = CredentialCache.DefaultCredentials;

我已在 .NET Core 2.0 上从 106.1.0 升级到 106.2.0,并且此消息已开始弹出:

System.PlatformNotSupportedException: Operation is not supported on this platform.

正如其他人所提到的,这条消息似乎是由 System.Net.SystemWebproxy.GetProxy 生成的,但在我的例子中,我根本没有明确配置代理,在内部它正在执行自己的操作并在我提出的每个请求上抛出异常。

我已经恢复到 106.1.0 并且这已经修复了它,所以在 106.2.0 中有一些变化,其中代理设置需要以某种方式明确?

@voicebooth这是在 #1061 中报告的

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

weswitt picture weswitt  ·  3评论

vDeggial picture vDeggial  ·  6评论

DuBistKomisch picture DuBistKomisch  ·  6评论

ghd258 picture ghd258  ·  6评论

nilesh-shah picture nilesh-shah  ·  6评论