我一直在我的本地机器上开发ASP.NET 4.0应用程序,今天我试图将其部署到服务器。 部署完成后,我尝试在浏览器中访问该网站时收到以下消息:
parsing器错误消息:无法识别的属性“targetFramework”。 请注意,属性名称区分大小写。
好吧,没问题。 这意味着服务器仍在运行ASP.NET 2.0。 我只是升级它,对吧?
这并不那么简单。
首先,我安装了.NET Framework v4.0。 我按照我在这个链接中find的说明来启用IIS中的ASP.NET ISAPI DLL。 当我运行“cscript iisext.vbs / listfile”时,我可以看到列出的ASP.NET 4.0 DLL,并且已经启用。 但是,我的应用程序的行为并没有改变。 我仍然得到相同的错误信息。
我怀疑我需要在IIS中的网站configuration中更改ASP.NET版本。 不过,我找不到任何方法。 当我右键单击网站,虚拟目录住我的应用程序,或IIS中的应用程序池,然后从上下文菜单中单击“属性”,我希望find属性页中的“ASP.NET”选项卡这将让我改变该网站/应用程序的ASP.NET版本。 但是,由于某种原因没有“ASP.NET”选项卡或属性页面。 为什么不? 如何解决这个问题,并将我的应用程序切换到.NET 4.0?
再次,这是Windows Server 2003 R2,我相信IIS版本是6。
我想这会把你带到正确的方向:
如何在Windows Server 2003 IIS6.0中将网站切换到ASP.NET4.0
如果缺lessASP.NET选项卡,请尝试从.Net 2.0框架目录运行aspnet_regiis.exe -i。
编辑:如果ASP.NET选项卡仍然丢失:
卸载IIS(包括ASP.Net)
重新启动机器。
重新安装IIS + ASP.net
运行aspnet_regiis -ir
编辑2:为什么ASP.net选项卡丢失,这篇文章可能会给一些线索。
“显然,在Windows Server 2003 64位版本和Windows Server 2003 R2中,IIS中的ASP.NET选项卡没有出现,没有修复,就是这样,它已经不存在了…. ASP.NET标签没有出现如果在Web服务扩展中只允许使用一个版本的ASP.NET,则该选项卡也不会出现。
我知道这个答案已经被接受,但如果您的网站只是使用错误的应用程序池,也会发生同样的错误。 确保您有一个.net 4.0应用程序池或一个asp.net 4.0应用程序池设置为活动的Web应用程序,并确保应用程序池本身已启动。