我做了大量的研究,没有找到任何合适的答案.这是场景.
我有一个编译为目标.NET Framework 4的应用程序.在运行时,我希望该应用程序实际在.NET Framework 4.6.1中执行.到目前为止我找到了两个选项.
选项1是不可取的,因为它需要重新发布软件.
选项2没有达到我的预期.它似乎检查是否安装了CLR 4.0(不是框架4.0),如果没有提示下载适当的SKU来安装它.安装后,应用程序仍在.NET Framework 4.0下执行
作为测试,以及发布此问题的原因,我创建了一个小型控制台应用程序,它只是这样做
Console.WriteLine(System.Net.ServicePointManager.SecurityProtocol);
Run Code Online (Sandbox Code Playgroud)
如果是针对.NET Framework 4编译的,则输出为
Ssl3,Tls
如果是针对.NET Framework 4.6.1编译的,则输出为
Tls,Tls11,Tls12