问候所有,
自从我第一次开始用C#编码以来,这让我很困惑.我的目标是创建一个程序集,该程序集将在用户拥有的最新.NET框架上运行,无论可能是什么.我不想要安装.NET 4,但是如果用户拥有它,我想使用它,更重要的是,如果用户只有 .NET 4而且下面没有任何内容,我希望它仍然有用.我开始怀疑这甚至不可能.
当我在Visual Studio中更改"目标框架"时,我真的不明白我在选择什么.这是否意味着"将与此版本兼容"?或者"只与这个版本兼容"?到目前为止似乎是后者; 我在虚拟机中的测试表明.NET 4目标程序集在没有.NET 4的情况下失败,而.NET 3.5目标程序集在没有.NET 3.5的情况下失败.有没有办法设置这个,所以我可以实现最大的兼容性?
更新:为了澄清,我有一个针对.NET 2的程序.这里的海报似乎表明它应该加载.NET 4.但是在只有.NET 4且之前没有任何东西的环境中,它无法加载.
UPDATE2:好的,想通了,但它比这里的海报似乎要复杂得多.我正在打开一个不同的问题来讨论错综复杂的问题,但简短的版本是,<supportedRuntime version="v4.0" />如果你想在.NET 4上运行非.NET 4程序集,你需要一个app.config .如果没有它,它们将无法加载.