相关疑难解决方法(0)

如何强制编译为.NET Framework 4的应用程序在.NET Framework 4.6.1下运行?

我做了大量的研究,没有找到任何合适的答案.这是场景.

我有一个编译为目标.NET Framework 4的应用程序.在运行时,我希望该应用程序实际在.NET Framework 4.6.1中执行.到目前为止我找到了两个选项.

  1. 在.NET Framework 4.6.1下重新编译应用程序
  2. 将configuration/startup/supportedRuntime元素添加到app.config,版本="v4.0"sku =".NETFramework,Version = v4.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

.net clr

8
推荐指数
1
解决办法
3570
查看次数

标签 统计

.net ×1

clr ×1