5

我们有一个 ASP.NET 应用程序,它是由一位前雇员编写的,到目前为止,我一直用胶带把它放在一起。该应用程序是使用 MVC、NHibernate 和其他一些进程编写的,我们的任何其他应用程序都没有使用这些进程,所以我对如何支持这些几乎没有什么想法。更复杂的是,最初的应用程序并不是为了正确部署而构建的,所以我不得不遵循该员工的一组说明,了解哪些文件要复制到哪里手动获取更新。C:\Inetpub\wwwroot我今天尝试进行更新,在复制任何内容之前备份应用程序所在的整个文件夹。复制文件后,我回收了应用程序池,这通常是应用更改所需的全部内容。相反,我收到了这个错误:

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

心烦意乱但并不太沮丧,我只是将我的备份文件夹复制回应用程序的文件夹,这应该已将其重置为我尝试更新之前的方式(因为我所做的只是复制一些文件)。但是,错误仍然存​​在。我尝试了多次重新复制,重新启动应用程序池,重新启动 IIS 等,但无济于事。到目前为止,我的 Google-fu 也被证明是无用的。如果您认为它会有所帮助(对我来说看起来没有用),我可以提供完整的堆栈跟踪。我真的束手无策,因为我可以告诉服务器上没有其他任何更改,并且文件夹已恢复到其原始状态(再次,据我所知......我还没有对文件进行比较100 多个文件中的每一个)。

4

4 回答 4

3

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

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

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

对这篇让我了解这个真相的帖子脱帽致敬。

我的解决方案是从我的本地 web.config 中删除模拟行

于 2014-07-11T18:26:37.500 回答
2

对我来说,问题出在配置文件上。

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

这里给出的凭证不正确,要么纠正,要么在不需要时注释掉。

于 2015-09-08T05:47:06.643 回答
0

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

于 2014-02-18T16:11:42.457 回答
0

刚刚修好了这个。一个新的理由:

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

从站点的根目录快速重置权限并重新开始工作。

于 2016-04-18T16:48:08.800 回答