17

简单来说

当我尝试浏览我的网站时,我收到以下错误消息:

CS0016: 无法写入输出文件 'c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\www\xxx\yyy\zzz\abdll' - '目录名称无效'

详细地

我的开发 PC 上有两个网站(虚构名称):

  • Web2 - 这是使用 .NET 3.5 在 ASP.NET 中编写的,并在应用程序池中运行,该应用程序池解决了 v2.0 .NET 框架并以集成模式运行。这是使用 Visual Studio 2010 开发的
  • Web4 - 这是使用 .NET 4.5 在 ASP.NET 中编写的,并在 AppPool 中运行,该 AppPool 解决了 v4.0 .NET 框架并以集成模式运行。这是使用 Visual Studio 2012 开发的。

最近,我几乎一直在 Web4 上的 VS2012 中工作,它工作正常,但是前几天我尝试运行 Web2 并得到了上面显示的异常。

奇怪的是,路径的一部分(我在上面用字母“zzz”替换)似乎指向德语路径,因为它是“\de-DE\”——我不是用德语操作的,所以我不知道这个想法是从哪里来的。

几乎可以肯定不相关的一件事,但出于某种未知的原因,我觉得值得一提:在此问题首次出现的前一天,我正在使用 Visual Studio 2012 中的性能分析工具,我不知道这是否可能对我的电脑进行了一些更改...??

尝试修复

互联网上有很多关于此的主题;一些线程以成功结束,其中文件访问权限已被更改,而另一些线​​程则以有点绝望的声音结束......我已经完成了将我的 PC 上所有相关探测目录的 NTFS 权限与同事的比较机器这仍在工作。不幸的是,在那里没有快乐。

我还卸载了 asp.net 2.0 并使用以下方法重新安装:

C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -u
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -ir

再一次,在那里也没有快乐。

我的 Web4 继续运行不受影响。

另外仅供参考:在 Win7 x64 上使用 IIS 7.5。

我现在转向更广泛的受众,希望将我目前的绝望状态转变为成功的状态。

感谢大家

格里夫

4

4 回答 4

43

在 IIS 管理器中,在应用程序池的高级设置中,确保“进程模型 > 加载用户配置文件”设置为“真”。

我有这个完全相同的问题。我尝试更改权限、禁用防病毒、创建新的应用程序池并重新安装 .NET。我什至创建了一个只有“Default.aspx”页面的新站点并尝试查看该站点。甚至那个站点也有编译错误。最后,我注意到我的应用程序池(干净的测试站点和主站点)的加载用户配置文件设置具有非默认值“False”。我将其设置为true,问题就消失了。

于 2013-08-29T21:26:53.683 回答
10

使用 ProcMon 找到了答案:

http://technet.microsoft.com/en-us/sysinternals/bb896645

临时 asp.net 文件首先在用户的 temp 文件夹中创建,然后移动到此文件夹中。由于一些未知的原因,我的 Web2 站点 (.NET 2 AppPool) 的编译现在使用与我的 Web4 (.NET 4 AppPool) 站点相同的文件夹。

我使用 ProcMon 来识别“拒绝访问”的所有结果,并授予 IIS_IUSRS 组写入权限(在一种情况下 - C:\Users\ASP.NET V4.0 Integrated - 修改权限)。

我不知道为什么编译使用“错误”文件夹,我怀疑在某些情况下我可能过度提升了权限,但现在它正在工作。

于 2013-03-11T07:10:45.667 回答
5

如果上述答案没有为您解决问题,请检查您的环境变量(右键单击计算机 -> 属性 -> 高级系统设置 -> 高级选项卡 -> 环境变量

确保临时变量指向具有所有必要权限的文件夹。(网络服务的完全访问权限,IIS_IUSRS)

注意:不要只检查顶部的两个变量,查看系统变量下的滚动菜单。您可能会发现那里也配置了变量。

于 2015-06-19T08:23:59.080 回答
4

这可能不是原因,但在尝试使用 Instrumentation 方法运行 VS 2010 性能向导后,我开始出现此错误。

我的 DEV 环境中的快速修复:将应用程序的应用程序池的标识更改为 LocalSystem。

于 2015-12-23T05:46:29.973 回答