4

由于默认情况下 Windows 8 不包含 .NET 2/3.5,我想将一些 .NET 2.0 编译的可执行文件转换为 .NET 4.5 而无需使用 VS 2012 重新编译它们。是否有此任务的实用程序?

4

3 回答 3

6

您可以只创建或修改 app.config 文件,并将supportedRuntime元素设置为4.5。这将导致 4.0 CLR(它将使用 4.5 框架)加载程序集,并且不需要对可执行文件本身进行任何更改。

于 2012-08-29T15:59:43.810 回答
3

作为附加信息(Reed Copsey 提供的解决方案有效),您可以拥有多个 supportedRuntime 元素以支持未安装 4.x 的系统:

<configuration>
    <startup>
        <supportedRuntime version="v4.0" />
        <supportedRuntime version="v2.0.50727" />
    </startup>
...

这将使它在 Windows 8 或未安装 .Net 4.x 的早期版本中运行良好。

于 2012-11-27T14:54:25.813 回答
0

我相信你不能这样做,因为这个属性是在程序集本身(TargetFramework)中支持的,如果你没有源代码,你可以做的是反编译程序集并使用所需的 .NET Framework 版本重新编译它。

于 2012-08-29T16:21:03.953 回答