.Net 'Any Framework' configuration

混江龙づ霸主 提交于 2019-12-01 19:35:39

This doesn't work without configuration by design. .NET 4 uses a different runtime, and when you load a .NET 2 assembly, by default, it loads it in version 2 of the CLR. You can reconfigure it to prevent this behavior, and have it load in v4 of the CLR - but it's not always a good idea. It causes the code you write to be run on a framework different than the one on which it was designed and tested, which can potentially be problematic.

It's typically easier and better to just install the proper requirements on the system. Installing .NET 2 is very easy (and comes by default on Vista+). This has the advantage of running your program on the framework for which it was designed.

Found it!

Here is the configuration for all who need it:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727"/>
    <supportedRuntime version="v4.0.30319" sku=".NETFramework,Version=v4.0,Profile=Client" />
  </startup>
</configuration>

It is very hard to find a machine that only has 4.0 installed. .NET 2.0 compatible versions are pre-installed on Vista and Win7 machines, they'll run your program without a hitch. You'd have to have a virgin XP machine that never had .NET installed. Maybe a server core. In which case somebody made a bit of a blunder by installing the wrong version of .NET.

Not sure how that happened, smells like a communication problem. Maybe you shouldn't leave it up to somebody else to get this wrong. When the system requirements for your app include support for XP then you'd better make sure it is available. Pretty simple with a Setup project.

Your app.config is otherwise wrong, <requiredRuntime> has been obsolete since .NET 1.0. The proper incantation is <requestedRuntime> and ask for both 2.0.50727 and 4.0

the thing you need to change the minimum requirement for application.

go to project setting change the target framework to 2.0 and i thing it's play same even user have 2.0 or 4.0 Net framework in their system

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!