8

在我的 XP Professional 机器上运行我的 Visual Studio 2008 ASP.NET 项目(在没有调试的情况下启动)时出现以下错误:

System.Web.HttpException: The current identity (machinename\ASPNET) does not have write access to 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files'.

我该如何解决这个问题?

4

8 回答 8

15

您是否尝试过框架文件夹中的 aspnet_regiis exe?

于 2008-09-17T18:06:34.177 回答
12

我有同样的问题。这就是我所做的:

  1. 转到 c:\windows\microsoft.net\framework\v2.0.50727
  2. 右键单击“临时 ASP.NET 文件”
  3. 安全选项卡
  4. 从组中选择“用户(xxxxxx\Users)
  5. 勾选“写”
  6. 好的
于 2012-08-29T20:07:45.453 回答
3

要么授予该用户对该目录的访问级别,要么更改应用程序的应用程序池运行的标识 - 在 IIS 管理器中,确定用于运行应用程序的应用程序池,然后在 IIS 管理器的应用程序池部分中,查看在该池的属性中-我认为您想要的选项卡是“身份”(这不在我的脑海中)。

您可以将其设置为另一个用户帐户 - 例如,Crystal Reports .Net 需要对 C:\Temp 的更新和删除访问权限 - 因此我们有一个具有管理员访问权限的“网站管理员”用户,并将该身份用于这些应用程序。

于 2008-09-17T18:08:53.827 回答
1

您可以右键单击 Visual Studio 并选择以管理员身份运行。

于 2009-10-07T08:15:50.613 回答
0

您可以尝试使用 c:\windows\microsoft.net\framework\v2.0.50727 中提供的自动 regiis 实用程序 aspnet_regiis.ext 来修复它

否则,只需按照错误中的说明手动添加所需的文件权限。

于 2008-09-17T18:09:35.730 回答
0

我在尝试构建 Web 部署项目 (*.wdploy) 时遇到了这个问题。只需在框架路径上创建文件夹即可解决该错误。

于 2013-11-27T10:42:29.080 回答
0

仅仅因为最近的答案是 5 年,所以在我们的环境中必须做的是删除应用程序、应用程序池并重新创建它们。

随着最近的变化,我们显然在引擎盖下有一些安全性。

这样做会在 Temporary ASP Net Files 中重新创建一个具有所有正确权限的文件夹。为什么我碰巧从源代码控制、重建等获得的一个站点以这种方式失败,不知道。其他 2 人最近设置了下载、重建等获取最新版本的位置。他们刚刚工作。

但是删除应用程序、应用程序池并使用与其他 2 个已知工作站点相同的 IIS 权限重新创建它们重新创建了所有需要的对象,现在一切正常。

于 2021-01-12T12:44:01.080 回答
-1

确保 ASPNET 用户有权写入该文件夹。右键单击文件夹,属性,安全选项卡。

于 2008-09-17T18:08:00.320 回答