无法加载CLR
在调试其他人写的项目时出现了如图下问题:我用的是vs2008及.NET Framework 3.5.
解决办法:
在应用程序配置文件中添加:
<startup>
<supportedRuntime version="v2.0.50727" sku=".NETFramework,Version=v3.5" />
</startup>
然后运行即可解决问题。
相关知识:
<startup> 元素.NET Framework 4其他版本1(共 1)对本文的评价是有帮助 - 评价此主题指定公共语言运行时启动信息。
<startup useLegacyV2RuntimeActivationPolicy="true|false" > </startup>特性和元素
以下几节描述了属性、子元素和父元素。
特性特性
说明
useLegacyV2RuntimeActivationPolicy
可选特性。
指定是否启用 .NET Framework 2.0 版 运行时激活策略,或者是否使用 .NET Framework 4 版 激活策略。
useLegacyV2RuntimeActivationPolicy 特性值
说明
true
为所选运行时启用 .NET Framework 2.0 版 运行时激活策略,该策略要将运行时激活技术(如 CorBindToRuntimeEx 功能)绑定到从配置文件选择的运行时,而不是将它们盖在 CLR 版本 2.0 上。因此,如果从配置文件选择 CLR 版本 4 或更高版本,则使用 .NET Framework 的早期版本创建的混合模式程序集将与所选 CLR 版本一同加载。设置此值可防止 CLR 版本 1.1 或 2.0 加载到同一进程,有效地禁用进程中的并行功能。
false
使用 .NET Framework 4 及更高版本的默认激活策略,即允许旧式运行时激活技术将 CLR 版本 1.1 或 2.0 加载到进程。设置此值可防止混合模式程序集加载到 .NET Framework 4 或更高版本,除非他们内置有 .NET Framework 4 或更高版本。此值为默认值。
子元素元素
说明
<requiredRuntime>
指定应用程序仅支持公共语言运行时 1.0 版。用运行时 1.1 版本或更高版本生成的应用程序应使用 <supportedRuntime> 元素。
<supportedRuntime>
指定此应用程序支持的公共语言运行时版本。
父元素元素
说明
configuration
每个配置文件中的根元素,常用语言 runtime 和 .NET Framework 应用程序会使用这些文件。
备注<supportedRuntime> 元素应由使用运行时 1.1 版或更高版本生成的所有应用程序使用。仅为支持运行时 1.0 版而生成的应用程序必须使用<requiredRuntime> 元素。
Microsoft Internet Explorer 中承载的应用程序的启动代码忽略 <startup> 元素及其子元素。
useLegacyV2RuntimeActivationPolicy 特性如果您的应用程序使用旧式激活路径,如 CorBindToRuntimeEx function(CorBindToRuntimeEx 功能),并且您希望这些路径激活 CLR 的版本 4(而不是较早的版本),或者如果您的应用程序是用 .NET Framework 4 生成的,但在使用较早版本的 .NET Framework 生成的混合模式程序集上有依赖项,则此特性将派上用场。在这些方案中,将特性设置为 true。
将该属性设置为 true 可以防止把 CLR 版本 1.1 或 CLR 版本 2.0 加载到同一进程,有效地禁用进程中的并行功能(请参见 COM 互操作的并行执行)。
示例下面的示例说明如何在配置文件中指定运行时版本。
<!-- When used with version 1.0 of the .NET Framework runtime --><configuration> <startup> <requiredRuntime version="v1.0.3705" safemode="true"/> </startup></configuration><!-- When used with version 1.1 (or later) of the runtime --><configuration> <startup> <supportedRuntime version="v1.1.4322"/> <supportedRuntime version="v1.0.3705"/> </startup></configuration><supportedRuntime> 元素.NET Framework 4其他版本2(共 2)对本文的评价是有帮助 - 评价此主题
指定此应用程序支持的公共语言运行时版本。此元素应当由 .NET Framework 1.1 版或更高版本生成的所有应用程序使用。
<configuration>
<startup>
<supportedRuntime>
<supportedRuntime version="runtime version" sku="sku id"/>特性
特性
说明
version
可选特性。
一个字符串值,它指定此应用程序支持的公共语言运行时 (CLR) 版本。CLR 的前三个版本由“v1.0.3705”、“v1.1.4322”和“v2.0.50727”指定。从 .NET Framework 4 版 开始,仅主版本号和次版本号是必需的(即“v4.0”而不是“v4.0.30319”)。建议使用较短字符串。
注意.NET Framework 版本 3.0 和 3.5 使用 CLR 的版本 2.0.50727。sku
可选特性。
一个字符串值,指定运行该应用程序的 SKU。有关更多信息,请参见 .NET Framework Client Profile。
备注如果应用程序配置文件中没有 <supportedRuntime> 元素,则使用用于生成该应用程序的运行时版本。
指定应用程序仅支持公共语言运行时 1.0 版。
<requiredRuntime version="runtime version" safemode="true|false"/>特性和元素
以下几节描述了属性、子元素和父元素。
特性特性
说明
version
可选特性。
一个字符串值,它指定此应用程序支持的 .NET Framework 版本。字符串值必须与位于 .NET Framework 安装根目录下的目录名称匹配。不分析字符串值的内容。
safemode
可选特性。
指定运行时启动代码是否搜索注册表以确定运行时版本。
安全模式特性值
说明
false
运行时启动代码在注册表中搜索。这是默认值。
true
运行时启动代码不在注册表中搜索。
子元素无。
父元素元素
说明
configuration
每个配置文件中的根元素,常用语言 runtime 和 .NET Framework 应用程序会使用这些文件。
startup
包含 <requiredRuntime> 元素。
备注仅为支持运行时 1.0 版而生成的应用程序必须使用 <requiredRuntime> 元素。使用运行时的版本 1.1 或更高版本生成的应用程序必须使用<supportedRuntime> 元素。
如果使用 CorBindToRuntimeByCfg 函数来指定配置文件,则必须使用适用于运行时的所有版本的 <requiredRuntime> 元素。当您使用CorBindToRuntimeByCfg 时,<supportedRuntime> 元素将被忽略。
version特性字符串必须与指定的 .NET Framework 版本的安装文件夹名称匹配。不解释此字符串。如果运行时启动代码找不到匹配的文件夹,则不加载运行时;启动代码显示错误信息并退出。
Microsoft Internet Explorer 中承载的应用程序的启动代码忽略 <requiredRuntime> 元素。
示例下面的示例说明如何在配置文件中指定运行时版本。
<configuration> <startup> <requiredRuntime version="v1.0.3705" safemode="true"/> </startup></configuration>
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。