无法添加“filter”类型的重复集合条目,并将唯一键属性“name”设置为“ASP.Net_4.0_64bit”

时间:2015-03-31 22:10:12

标签: c# asp.net iis iis-7.5

我已经遇到这个问题很长一段时间了。当我打开一个指向我的localhost的asp.net页面时,就会发生这种情况。我正在使用visual studio 2012和iis 7.5运行windows 2008 r2。

它显示的配置源是这个。 :

 1451:                 <remove name="ASP.NET_4.0.30319.0" />
 1452:                 <filter name="ASP.Net_4.0_64bit" path="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv4.0,bitness64" />
 1453:                 <filter name="ASP.Net_4.0_32bit" path="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv4.0,bitness32" />

它显示它在第1452行错误。

最初,这是inetsrv 32和64位位置的applicationHost.config文件中的一个问题。我进去并删除了重复的4.0条目,它工作了好几个月。

然后它再次开始抛出此错误。那时我刚刚完全重新安装了IIS,我的应用程序又开始工作了。

此错误再次开始发生,我再次执行了IIS的完全重新安装,但这次没有帮助,并且由于此重复的收集错误,我的应用程序继续出错。

我相信这一切都源于我很久以前在所有这些问题之前提出的ISAPI问题。 :

http://weblog.west-wind.com/posts/2011/Apr/04/Error-on-64-Bit-Install-of-IIS-LoadLibraryEx-failed-on-aspnetfilterdll

真的,我想知道是否有其他人见过这个。我真的很困惑的是,如果我查看inetpub / temp / appPools位置中的temp applicationHost.config文件(这是运行的应用程序正在引用和错误的文件)。我遇到的问题是,应用程序正在使用的当前临时applicationHost.config与在inteserv位置中找到的临时applicationHost.config的不同之处在于它具有导致错误的ASP.NET_4.0.30319.0行。令人困惑的是,导致错误的这一行必须来自某些地方,但我无法在inetsrv位置或应用程序池位置找到它,因此我的困惑。

1 个答案:

答案 0 :(得分:-1)

我认为大多数情况下都必须解决此问题,但是如果有人仍然有此问题- 我有VS 2017,过去在2015年遇到了这个问题。后来,当我设置2017时,我看到了这个不错的小选择,我相信它可以解决我的问题。我希望它甚至可以解决您的问题。试一下。

并使用IIS Express,请参阅此 screenshot of Web project properties showing the tiny little settings

在我的情况下,作为64位操作系统,我必须显式设置x64(在bitness字段上)。将其设置为Default或x86并没有运行我的mvc应用程序。