8

我在 Windows 2003 上运行 IIS 6.0 并开始收到此错误:

Compiler Error Message: CS0016: Could not write to output file 'c:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\7382c13f\ea9b3ff7\App_global.asax.zodyof_q.dll' -- 'The directory name is invalid. '

我已经检查了所有权限,一切都符合要求 - 另外,错误消息没有提及权限。我已经尝试过以下方法:

  • 按照此 [过时] 知识库文章中的说明操作:http: //support.microsoft.com/kb/825791/en-us
  • 修复 .NET Framework v3.5 安装,然后重新启动
  • 删除内容c:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root,然后运行iisreset
  • 重置权限c:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root,然后运行iisreset
  • 重新设置权限c:\WINDOWS\TEMP,然后运行iisreset

有什么建议么?


其他说明/回复:

  • 索引服务被禁用。
4

10 回答 10

4

如果您安装了 ANTS 分析器并且它在分析时崩溃,我找到了一个适用的答案。此知识库文章描述了其中一种解决方案:

http://www.red-gate.com/supportcenter/Content.aspx?p=ANTS%20Profiler&c=knowledgebase\ANTS_Profiler\KB200903000362.htm _

于 2009-05-12T20:55:23.320 回答
3
  1. 在 下创建一个临时文件夹%SystemRoot%,然后将其命名Temp
  2. 将 Temp 文件夹的完全权限授予 .NET Framework 1.0 中的 aspnet 用户帐户或 .NET Framework 1.1 中的 NETWORK SERVICE 用户帐户。
  3. 右键单击我的电脑,然后单击属性。
  4. 在高级选项卡上,单击环境变量。
  5. 选择系统变量下的 TEMP 变量,然后单击编辑。
  6. 在变量值框中键入%SystemRoot%\TEMP,然后单击确定。
  7. 重复步骤 5 和 6 以编辑 TMP 变量。单击确定两次。
  8. 单击开始,然后单击运行。

要重置 Internet 信息服务 (IIS),请在命令提示符下键入 iisreset。

于 2011-11-30T09:20:36.250 回答
2

使用 SysInternals FileMon(或 ProcMon,如果您愿意)来查看它所抱怨的真实文件。如果您有一个繁忙的服务器,您可以将其限制为仅监视 IIS,尽管我会从所有进程开始并仅捕获几秒钟的输出。

在运行之前,请确保 IIS 已使用 iisreset /restart 重置,以便以前不会缓存错误。

瑞安

于 2009-04-27T16:45:09.573 回答
2

我在运行 IIS 7.0 / Vista Ultimate / .NET 2.0 Web App 时遇到了同样的错误。我尝试为 NETWORK SERVICE 用户设置临时文件夹的“完全控制”权限(右键单击文件夹c:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727、属性、安全选项卡)并关闭防病毒和 UAC,但没有帮助。

但这很神奇:打开 IIS 管理器 -> 从右侧菜单中选择“查看应用程序池” -> 选择“高级设置” -> 在“身份”属性中设置您的用户名(和密码) -> 重新启动 IIS

如果这不起作用,请另外检查您是否是c:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727文件夹的所有者(右键单击,属性,安全选项卡,高级,所有者选项卡)

于 2009-10-10T09:54:06.763 回答
2

致所有仍有问题的人!我的解决方法如下 http://support.microsoft.com/kb/825791

于 2011-04-07T00:33:58.130 回答
1

好的,当您修复安装时,您的意思是 ASPNET_REGIIS -u / ASPNET_REGIIS -i 吗?这将修复磁盘权限。

可能是您的病毒扫描程序;如果可以并且安全的话,排除您的 .net 临时文件夹/inetpub。

于 2009-04-27T16:58:52.817 回答
0

必须尝试为临时 asp.net 文件夹禁用 Windows 索引服务

于 2009-04-27T16:46:02.413 回答
0

我收到了同样的错误。防病毒/安全软件 (McAffee Viruscan Enterprise) 阻止了 Visual Studio 工具 csc.exe 动态编译代码并在位于 windows 目录文件夹下的目录文件夹中创建实体数据模型 dll。McAffee 中有一个名为访问保护的部分,其中有一个名为“最大保护”的规则,该规则禁止在 windows 目录文件夹中创建可执行文件。只需暂时禁用规则或访问保护即可成功编译网站。

于 2009-06-05T20:25:47.003 回答
0

这是最终的解决方案:)


  1. 首先将所有权限授予 ASPNET 帐户,NETWORK SERVICE 帐户到它使用的框架下的“ASP.NET 临时文件”文件夹。
    比如 C:\windows\microsoft.net\framework\v2.xxx\ASP.NET 临时文件。

  2. 在 TEMP 和 TEMP 的环境变量下检查为您的机器配置的临时文件夹。对于该文件夹,还授予 ASPNET 帐户、NETWORK SERVICE 帐户的所有权限。重置 IIS 它应该可以正常工作。

于 2010-08-12T14:36:45.543 回答
0

从 windows server 2003 x64 、 IIS6 、 net 4.0 、 asp 应用程序中,我看到了错误:

编译器错误消息:CS0016:无法写入输出文件 'c:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\7382c13f\ea9b3ff7\App_global.asax.zodyof_q.dll' -- '目录名无效。'

我创建 DIR 时解决了

d:\温度

不知道为什么 D:\temp 很重要,但我会尽快更新这个答案并说明原因。

对 DIR 的权限是:

管理员满

创作者所有者特别

系统满

用户读取&执行/列出/读取

未定义 IIS 特定用户权限。

Working to migrate to IIS7 host but thought this answer maybe helpful for someone.

于 2015-08-18T15:54:08.257 回答