Asp.net mvc 更新部署的文件后,Antlr3.runtime访问被拒绝

Asp.net mvc 更新部署的文件后,Antlr3.runtime访问被拒绝,asp.net-mvc,nhibernate,antlr3,Asp.net Mvc,Nhibernate,Antlr3,我们有一个ASP.NET应用程序,它是由一位以前的员工编写的,到目前为止,我一直用胶带将其保存在一起。这个应用程序是用MVC、NHibernate和其他一些程序编写的,我们的其他应用程序都不使用这些程序,所以我对如何支持这些程序知之甚少。让事情更加复杂的是,最初的应用程序没有正确部署,所以我不得不按照上述员工的一系列指示来复制哪些文件,在哪里手动获取更新。我今天尝试进行更新,在复制任何内容之前,先备份应用程序所在的整个文件夹C:\Inetpub\wwwroot。复制文件后,我回收了应用程序池,这

我们有一个ASP.NET应用程序,它是由一位以前的员工编写的,到目前为止,我一直用胶带将其保存在一起。这个应用程序是用MVC、NHibernate和其他一些程序编写的,我们的其他应用程序都不使用这些程序,所以我对如何支持这些程序知之甚少。让事情更加复杂的是,最初的应用程序没有正确部署,所以我不得不按照上述员工的一系列指示来复制哪些文件,在哪里手动获取更新。我今天尝试进行更新,在复制任何内容之前,先备份应用程序所在的整个文件夹
C:\Inetpub\wwwroot
。复制文件后,我回收了应用程序池,这通常是应用更改所需的全部。相反,我得到了这个错误:

无法加载文件或程序集“Antlr3.Runtime”或其依赖项之一。访问被拒绝。


我很不安,但也不太沮丧,我只是简单地将备份文件夹复制回应用程序的文件夹中,该文件夹本应重置为我尝试更新之前的状态(因为我所做的只是复制了一些文件)。但是,错误仍然存在。我尝试过多次重新复制、重新启动应用程序池、重新启动IIS等,但都没有成功。到目前为止,我的谷歌fu也被证明是无用的。我可以提供完整的堆栈跟踪,如果你认为它会有帮助的话(对我来说没有用处)。我真是束手无策,因为我知道服务器上没有任何其他更改,而且文件夹已恢复到其原始状态(同样,据我所知……我没有对100多个文件中的每个文件进行比较)。

您能检查wwwroot文件夹和“临时ASP.NET文件”中IIS用户的权限吗C:\WINDOWS\Microsoft.NET\Framework\version\Temporary ASP.NET?如果权限正确,请尝试清除asp.net临时文件夹,然后再次运行应用程序(并再次检查此文件夹的权限)

如果您不想让站点在本地运行,这可能不适用,但是,这可能会帮助某些人

我已将生产服务器的web.config带到本地工作站。我忘记了生产配置使用模拟。那原来是我的问题。该用户对我的本地工作站几乎没有权限

如果将模拟用户添加到本地计算机的IIS_WPG,则可以避免对临时ASP.NET文件权限等执行奇怪的操作

脱帽致敬让我明白了这一事实


我的解决方案是从本地web.config中删除模拟行。对我来说,问题在于配置文件

<identity impersonate="true" userName="abc" password="xyz"/>


此处提供的凭证不正确,请更正该凭证或在不需要时注释掉。

刚刚修复了此凭证。一个新的原因:

部署文件夹上的ACL已变得混乱(例如,
bin
文件夹在Explorer的安全高级视图中显示,继承权限不是从其父级,而是从其父级的父级)


从站点的根目录快速重置权限,所有权限都重新开始工作。

我通过清除整个文件夹并重新部署整个应用程序,而不仅仅是更新它或从备份中恢复它,使其重新工作。仍然不知道为什么重新复制我的备份文件夹不会恢复它…请阅读以下内容:对于仍有问题的其他人,此链接可能会引起@TechTurl的兴趣,该链接也适用于我。在从4.7升级到.NET 4.7.2并更新大量nuget软件包之后,每次刷新我都会收到不同的错误消息(上面的Antlr3错误就是其中之一),因此感谢您的建议,我删除了(Azure web app)服务器上我认为可以避免的内容,然后重新部署。然后,我开始得到合理、一致的错误消息。然后我意识到我必须从我的web.config文件中删除旧的绑定重定向,我做到了,一切都恢复了正常。