使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

症状

假定您有 Microsoft.NET Framework 4.7 安装在一台计算机上。您可能会注意到在.NET Framework 运行的应用程序不尊重 AppContext 交换机在注册表中指定的兼容性设置。在这种情况下,当您尝试设置注册表选项为 AppContext 标志,其行为就像在注册表选项中指定的值设置为False

原因

当程序读取注册表中 AppContext 开关的值时,则不能检索的数据。在这种情况下,认为有错误的方式在注册表中,指定设置,如果值为False则返回给应用程序。

解决方案

若要解决此问题,请使用应用程序配置 (pp.config) 文件将标志设置为所需的值。

app.config文件< 运行 >节中添加< AppContextSwitchOverrides >元素。交换机具有一个属性,即,其值是一个字符串,表示包含交换机名称和值的项或值对。

若要定义多个交换机,单独的 <AppContextSwitchOverrides> 中的每个交换机的注册表项或值对包含分号的元素的值属性。在这种情况下,<AppContextSwitchOverrides> 元素具有以下格式:

XML

<AppContextSwitchOverrides value=”switchName1=value1;switchName2=value2” />

使用< AppContextSwitchOverrides >元素来定义某一配置设置具有应用程序范围。即,它会影响只有该应用程序。

由于app.config文件是特定于应用程序,必须为所有受影响的应用程序来执行此操作。

有关 AppContext 的详细信息,请转 Microsoft 开发人员网络 (MSDN) 网站上的以下主题:

AppContext 类

详细信息

此问题被引入作为启用 AppContext 开关,用于在应用程序域的生命周期非常早期的工作的一部分。这允许将否则被中断以放心,即使使用 AppContext 交换机所需的代码在应用程序域提出很早的时期运行的更改。

该问题是关于分配多少内存来存储从注册表中读取值。如果分配的空间,以存储从注册表中读取的值是不够的它将回到默认值false

状态

Microsoft 已经确认,这是"适用于"一节中列出的 Microsoft 产品中的问题,Microsoft 致力于在即将发行的版本的产品解决方案。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×