【发布时间】:2013-02-13 17:16:36
【问题描述】:
简介
当我尝试浏览我的网站时,我收到以下错误消息:
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 中编写的,并在应用程序池中运行,该应用程序池寻址 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。
我现在转向更广泛的受众,希望将我目前的绝望状态转变为成功。
谢谢大家
格里夫
【问题讨论】:
-
所以您已确保 ASP.NET 临时文件和 C:\Windows\temp 文件夹具有具有完全控制权限的 IIS_IURS 和 NETWORK SERVICE 用户?
-
他们和我的同事一样... 临时 ASP.NET 文件:IIS_IUSRS 具有修改 + 特殊权限;没有提到网络服务。 Windows Temp:IIS_IUSRS 具有特殊权限; NETWORK SERVICE 已修改。我更改了它们,使它们都具有完全控制权并进行了 IISRESET。完全相同的错误信息。
-
有一点没有经过测试 - 我们有一个新的防病毒服务,我无法关闭(由于政策无法停止该服务)。这有什么责任吗?如前所述,它不会影响我在使用 .NET 4 的 AppPools 下运行的网站,只会影响使用 .NET 2 的网站。
-
关掉杀毒软件还是不行,所以不是杀毒软件有问题。
-
我现在能想到的唯一选择就是重新安装完整的框架(v2)
标签: asp.net asp.net-mvc visual-studio iis asp.net-mvc-4