在.NET 4.0程序中运行.NET 2.0可执行文件

4

我正在尝试从我的程序中运行一个外部可执行文件。我的程序是在.Net 4.0框架下编译的,以便能够在Windows XP上运行。外部应用程序是在.Net 2.0框架下编译的。当我在我的机器上运行这个程序(Windows 7,安装了.Net 4.5)时,它工作得很好,但是当我在安装了.Net 4.0的XP上运行它时,我会收到以下错误:无法找到运行此应用程序所需的运行时版本。我尝试修改app.config文件,如下所示,但没有成功:

<?xml version="1.0"?>
<configuration>
<startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    <supportedRuntime version="v2.0" sku=".NETFramework,Version=v2.0"/>
</startup>
</configuration>

有没有其他方法来解决这个问题?

4
这台XP机器上同时安装了.NET 2和4吗? - Jon
不,我认为那是多余的。我可以尝试一下。 - Lukas Bystricky
这两个应用中哪一个无法启动? - H H
3
.NET 2配置文件需要指定完整的版本号,并省略SKU信息:<supportedRuntime version="v2.0.50727"/> - thecoop
2
这里是源代码的链接,展示了thecoop所说的内容。(我本来也打算发这个,但你比我快一步。) - Scott Chamberlain
显示剩余4条评论
1个回答

2
一般情况下,您不应卸载计算机上安装的任何版本的.NET Framework,因为您使用的某个应用程序可能依赖于特定版本,如果删除该版本,则可能会破坏该应用程序。您可以在单台计算机上同时加载多个版本的.NET Framework。这意味着您可以安装.NET Framework而无需卸载先前的版本。有关更多信息,请参阅.NET Framework入门。 http://msdn.microsoft.com/en-us/library/bb822049.aspx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接