我有一个旧的 C# win forms 项目 (.Net 4),正在使用 azure 存储。我最近将项目更新为.Net 4.8(Visual Studio 2015...),并使用 TLS1.2 将 azure 存储更新为 V2。 不幸的是,我仍然必须定义 SecurityProtocol 来上传我的 blob(否则我会收到错误 400)。
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
这似乎是不好的做法,我想知道为什么在不指定 SecurityProtocol 的情况下它不能与 .Net 4.8 一起使用。文档指出它应该与 .Net >4.6 一起使用。 我已经检查了我的注册表,它显示 .Net 4.8 已安装(版本值 528372)。这无论如何取决于我的天蓝色库吗?我仍然使用 Microsoft.WindowsAzure.Storage 库; (更新正在进行中...)
有什么提示吗?
编辑1: Windows版本是10,是官方支持的版本。 该项目最初使用的是 Visual Studio 2015。所以我使用了这个(并且由于使用了 IS LE...)。 它是一个本地运行的 WinForms 项目,而不是在任何服务器上运行。
将
<httpRuntime targetFramework="4.8" />
添加到 Web.config 文件
<system.web>
<!--Added this httpRuntime -->
<httpRuntime targetFramework="4.8" />
</system.web>