2011-02-22 85 views
0

安装.net 4.0后,我的.net 1.1应用程序失败,我不知道4.0是否是原因。在1.1的machine.config最后,该应用程序报告了一个无法识别的system.data部分。 (我在VS2008调试器中运行它来找到它)。我注释了该部分,无论如何它都是空的,应用程序又开始运行。该应用程序在xp,vista和win7-64上运行正常多年。安装.net 4.0是否打破任何.net 1.1应用程序?

这是在machine.config中引起问题的部分:

<system.data> 
    <DbProviderFactories></DbProviderFactories> 
</system.data> 
+0

您是否问仅仅安装.NET 4会更新所有现有的.config文件?你有没有做任何事情导致.config文件被更新?我不确定你在问什么。 – 2011-02-22 18:59:28

+2

你能粘贴导致问题的代码吗? – AndrewC 2011-02-22 18:59:54

回答

2

安装1.1以外的任何.NET版本肯定会中断.NET 1.1应用程序。这是因为Microsoft以突破的方式修复了.NET 1.1中的一些错误。我相信安装.NET 4.0还会安装.NET 1.1中的一个或多个服务包,以便您可以看到其中一个中断。

0

万一事情可能会GAC有关,请参阅:

.NET 4.0 has a new GAC, why?

而且,是有可能的是, machine.config中无法识别的system.data节被手动放在那里?并且在CLR 4.0安装之前没有遇到麻烦?

+0

注意一旦开始使用Visual Studio 2010或更新版本。除非您使用.NET 4.0版本的`gacutil`来管理您的GAC'dll,否则您可能会遇到警告MSB3258:“主引用具有间接依赖性,其版本比版本”4.0.0.0“高“......”在当前的目标框架中“,这实际上很难弄清楚。相信我:-) – 2012-09-20 16:41:19

0

微软已经声明所有版本的.Net可以并行安装而不会相互干扰(至少这就是他们在MSDN Live上所说的)。每个版本都安装在separate directory中。

如果您在谈论ASP.Net,那么您必须考虑在IIS中为您的应用程序配置了哪个版本。

相关问题