METAHOST_POLICY_FLAGS 枚举

提供大多数运行时主机通用的绑定策略。 此枚举由 ICLRMetaHostPolicy::GetRequestedRuntime 方法使用。

语法

typedef enum {  
    METAHOST_POLICY_HIGHCOMPAT              = 0x00,  
    METAHOST_POLICY_APPLY_UPGRADE_POLICY    = 0x08,  
    METAHOST_POLICY_EMULATE_EXE_LAUNCH      = 0x10,  
    METAHOST_POLICY_SHOW_ERROR_DIALOG       = 0x20,  
    METAHOST_POLICY_USE_PROCESS_IMAGE_PATH  = 0x40,  
    METAHOST_POLICY_ENSURE_SKU_SUPPORTED    = 0x80,  
    METAHOST_POLICY_IGNORE_ERROR_MODE       = 0x1000  
  
} METAHOST_POLICY_FLAGS;  

成员

成员 说明
METAHOST_POLICY_HIGHCOMPAT 定义高兼容性策略,该策略将不考虑任何加载到当前进程中的公共语言运行时 (CLR)。 相反,它仅考虑已安装的 CLR 以及派生自程序集文件本身、声明的生成版本或配置文件的组件的首选项。
METAHOST_POLICY_APPLY_UPGRADE_POLICY 当找不到完全匹配项时,将根据 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Policy\Upgrades 的内容将升级策略应用于版本绑定结果。 这与 RUNTIME_INFO_UPGRADE_VERSION 的效果相同。
METAHOST_POLICY_EMULATE_EXE_LAUNCH 会返回绑定结果,就像在新进程中启动了提供给调用的映像一样。 目前,GetRequestedRuntime 会忽略可加载的运行时集,并与已安装的运行时集绑定在一起。 此标志允许主机在启动时确定 EXE 将绑定到的运行时。
METAHOST_POLICY_SHOW_ERROR_DIALOG 如果 GetRequestedRuntime 找不到与输入参数兼容的运行时,则会显示错误对话框。 从 .NET Framework 4.5 开始,此错误对话框可采用 Windows 功能对话框的形式,该对话框会询问用户是否要启用相应的功能。
METAHOST_POLICY_USE_PROCESS_IMAGE_PATH GetRequestedRuntime 使用进程映像(以及任何相应的配置文件)作为绑定过程的额外输入。 默认情况下,GetRequestedRuntime 在确定要绑定到的运行时的时候不会回退到进程映像路径(通常是用于启动进程的 EXE)。
METAHOST_POLICY_ENSURE_SKU_SUPPORTED 当配置文件中没有可用的信息时,GetRequestedRuntime 必须检查是否安装了相应的 SKU。 这允许没有配置文件的应用程序在与 .NET Framework 的默认安装相比更小的 SKU 上正常失败。 默认情况下,GetRequestedRuntime 不会检查是否安装了相应的 SKU,除非在配置文件 <supportedRuntime /> 元素中指定了 SKU 属性。
METAHOST_POLICY_IGNORE_ERROR_MODE GetRequestedRuntime 应忽略 SEM_FAILCRITICALERRORS(这是通过调用 SetErrorMode 函数设置的),并且会显示错误对话框。 默认情况下,SEM_FAILCRITICALERRORS 会阻止显示错误对话框。 它可能已从其他进程继承,并且你的方案中可能不需要无提示错误。

备注

要求

平台:请参阅系统要求

标头:Metahost.h

库:作为资源包含在 MSCorEE.dll 中

.NET Framework 版本:自 4 起可用

另请参阅