这个问题可能已经多次提出过,但我无法得到适合我的典型解决方案。 proposed solution是将其放在“app.config”文件中:
<configuration>
<startup>
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
但是使用简单的“Hello World”程序,我仍然会收到错误:“无法找到运行此应用程序的运行时版本。”。
在某些背景下,我使用的是Windows XP(通过Windows 7上的Windows Virtual PC),并且只在XP上安装了.NET 4.0运行时。
经过一番研究,我找到了这个页面: http://msdn.microsoft.com/en-us/library/ee941656.aspx#core
它提到“如果您的应用程序配置文件名为application-name.config,请将其重命名为application-name.exe.config。例如,将MyApp.config重命名为MyApp.exe.config。”。
我尝试过,认为它可以解决问题,但我仍然得到“无法找到运行此应用程序的运行时版本”。当我尝试使用.NET 4.0在WinXP上运行.NET 3.5(客户端配置文件或完整)应用程序时。
答案 0 :(得分:6)
我破解了它。这可能听起来很愚蠢,但事实证明配置文件需要与用户文件夹中的最终可执行文件一起使用。经过我所有的研究,这在任何地方似乎都没有得到澄清。我以为它只是用于编译目的,而是在开发人员的文件夹中。
在VS编辑器文件列表中,它可以保留为“app.config”。但是,在编译时,VS会自动创建“{ProgramName} .exe.config”(并将其放入bin / release文件夹中)。这是需要在最终用户的文件夹中连同可执行文件的文件。
总而言之,是的,可以在只安装了.NET 4.0的系统上运行.NET 3.5应用程序。