.NET框架兼容性问题

.NET框架兼容性问题,.net,vb.net,clr,assemblies,.net-assembly,.net,Vb.net,Clr,Assemblies,.net Assembly,我们有一个基于.net framework 1.1构建的VB.net Winform应用程序,它使用.net 1.1 GAC位置的引用程序集(类库),运行良好 但后来我们只将引用的程序集文件迁移到了.NET4.0,并在应用程序可执行文件的文件夹中本地部署了这些文件 所以现在.net 1.1中的主应用程序的清单文件引用了.net Framewok 4.0中的程序集 如果我们在客户端计算机上安装了.NET framework 1.1,那么这个应用程序工作得非常好,但如果我删除了.NET framew

我们有一个基于.net framework 1.1构建的VB.net Winform应用程序,它使用.net 1.1 GAC位置的引用程序集(类库),运行良好

但后来我们只将引用的程序集文件迁移到了.NET4.0,并在应用程序可执行文件的文件夹中本地部署了这些文件

所以现在.net 1.1中的主应用程序的清单文件引用了.net Framewok 4.0中的程序集

如果我们在客户端计算机上安装了.NET framework 1.1,那么这个应用程序工作得非常好,但如果我删除了.NET framework 1.1,那么当从引用的程序集获取数据时,应用程序就会崩溃

客户端计算机已安装.Net Framewok 4.0,.Net运行时支持向后兼容,所以为什么在删除.Net 1.1 framework后应用程序会崩溃


请解释一下这个问题。谢谢。

CLR v4将自动替换.NET 2.0+程序集的框架程序集请求,替换该程序集的4.0版本。之所以有效,是因为它们的4.0版本与2.0版本高度兼容,而且Microsoft对此进行了全面测试。但是责任在某个地方停止了,对于1.x请求,它不会自动这样做。太老了,没有经过测试。您必须使用自己的
来强制执行此操作。很难猜测“获取数据”可能意味着什么(为什么我们必须猜测?),但闻起来像是.resx文件中的资源。我想起来了,我不是已经告诉你了吗?谢谢@HansPassant。。我正在生产环境中测试这一点&没有在该环境中安装VS。。。还检查了另一个环境中的.resx文件(源代码),但引用的程序集中使用的所有资源都是.Net 4.0程序集版本。。