作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 C# .NET 2.0 中构建了一个程序,该程序在框架 3.0 和 3.5 下也运行良好。
但如果 .NET Framework 4.0 是唯一安装的框架,则它不起作用,它需要用户安装 2.0。
我在google中找到了如下配置:
<startup>
<requiredRuntime safemode="true" imageVersion="v4.0.30319" version="v4.0.30319"/>
</startup>
将此添加到 app.config 后,我的程序可以在 .NET Framework 4.0 上正常运行!
我搜索的是 .NET“Any Framework”配置,它可以在 .NET 2.0(如果已安装)或 .NET 4.0 下运行我的程序。
如何做到这一点?
最佳答案
如果没有配置设计,这将无法工作。 .NET 4 使用不同的运行时,当您加载 .NET 2 程序集时,默认情况下,它会在 CLR 版本 2 中加载它。您可以重新配置它以防止这种行为,并将它加载到 CLR 的 v4 中——但这并不总是一个好主意。它会导致您编写的代码在与设计和测试它的框架不同的框架上运行,这可能会产生问题。
在系统上安装适当的要求通常更容易和更好。安装 .NET 2 非常简单(在 Vista+ 上默认安装)。这样做的好处是可以在为其设计的框架上运行您的程序。
关于c# - .Net 'Any Framework'配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4652167/
我是一名优秀的程序员,十分优秀!