我有一个使用VS2013开发的Web服务应用程序。 .Net框架4.5。我将它发布到我的本地IIS,现在出现以下错误:
for Microsoft(R).NET Framework 4.5版权所有(C)Microsoft 公司。保留所有权利。
错误CS0016:无法写入输出文件 ' c:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET 文件\ IMS \ aa5f2280 \ 45739e94 \ App_global.asax.qoc3weqj.dll' - ' The 目录名无效。 '
几个月前它正在运作。从那时起我就安装了VS2015社区版,并且可以想到没有其他可能影响我环境的重大变化。
我已经广泛搜索了与网络应用程序相关的CS0016并阅读了许多SO帖子。主要建议似乎是授予各种临时目录和临时ASP.Net文件的正确权限。我已授予每个可能涉及%tmp%,%temp%,%windir%\ tmp,%windir%\ temp以及其他我不会立即回忆的临时目录的权限。这些被授予IIS_IUSRS,DefaultAppPool,IUSR和NETWORK SERVICE。授予权限的用户的多样性主要是出于挫败感。我还看过有关此错误的事件。下面提供了标题的示例。正如您从流程信息中看到的那样,帐户名称是IIS APPPOOL \ DefaultAppPool,我已经给出了每个目录,我可以想到访问它。
我已经通过程序和功能重新安装了IIS,并使用aspnet_regiis卸载并重新安装了ASP.Net几次。我还关闭了我的ESET NOD病毒检查程序和Windows防火墙。这些都没有造成任何影响。我有这样的感觉,我错过了一些非常简单的东西,但我在我的智慧结束。
很抱歉很长的帖子,但我想尽可能多地提供信息。任何建议都非常受欢迎。
Log Name: Application
Source: ASP.NET 4.0.30319.0
Date: 17/08/2015 18:03:49
Event ID: 1310
Task Category: Web Event
Level: Warning
Keywords: Classic
User: N/A
Computer: Meridian5
Description:
Event code: 3007
Event message: A compilation error has occurred.
Event time: 17/08/2015 18:03:49
Event time (UTC): 17/08/2015 17:03:49
Event ID: 4a02b6c6a53c43dcb589b367bf360146
Event sequence: 3
Event occurrence: 1
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/1/ROOT/ims-3-130843046283556791
Trust level: Full
Application Virtual Path: /ims
Application Path: C:\inetpub\wwwroot\ims\
Machine name: MERIDIAN5
Process information:
Process ID: 2628
Process name: w3wp.exe
Account name: IIS APPPOOL\DefaultAppPool