ASPNET用户没有对临时ASP.NET文件的写访问权

时间:2008-09-17 18:04:56

标签: asp.net visual-studio-2008 iis-5

在我的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'.

我该如何解决这个问题?

8 个答案:

答案 0 :(得分:15)

你试过,aspnet_regiis exe在框架文件夹中吗?

答案 1 :(得分:12)

我遇到了同样的问题。这就是我所做的:

  1. 转到c:\ windows \ microsoft.net \ framework \ v2.0.50727
  2. 右键单击“Temporary ASP.NET files”
  3. 安全标签
  4. 从组
  5. 中选择“用户(xxxxxx \ Users)”
  6. 勾选“写”

答案 2 :(得分:3)

授予该用户对该目录的访问级别,或更改应用程序的应用程序池运行的标识 - 在IIS管理器中,确定用于运行应用程序的应用程序池,然后在IIS的“应用程序池”部分中经理,看看那个游泳池的属性 - 你想要的标签是“身份”我认为(这不是我的头脑)。

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

答案 3 :(得分:1)

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

答案 4 :(得分:0)

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

否则,只需手动添加所需的文件权限,如错误中所述。

答案 5 :(得分:0)

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

答案 6 :(得分:0)

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

我们显然在幕后有一些安全措施,最近对其进行了更改。

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

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

答案 7 :(得分:-1)

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