在调试其他人写的项目时出现了如图下问题:我用的是vs2008及.NET Framework 3.5.
解决办法:
在应用程序配置文件中添加:
<startup>
<supportedRuntime version="v2.0.50727" sku=".NETFramework,Version=v3.5" />
</startup>
然后运行即可解决问题。
相关知识:
指定公共语言运行时启动信息。
<startup useLegacyV2RuntimeActivationPolicy="true|false" > </startup>
以下几节描述了属性、子元素和父元素。
特性 | 说明 |
---|---|
useLegacyV2RuntimeActivationPolicy | 可选特性。 指定是否启用 .NET Framework 2.0 版 运行时激活策略,或者是否使用 .NET Framework 4 版 激活策略。 |
值 | 说明 |
---|---|
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> 元素及其子元素。
如果您的应用程序使用旧式激活路径,如 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>
指定此应用程序支持的公共语言运行时版本。此元素应当由 .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>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。