奇怪的 IIS 10 错误

奇怪的 IIS 10 错误

在我的开发电脑上,即使是一个简单的 ASPX 页面也会收到一个奇怪的 IIS 错误(Windows 10 Professional,IIS 10):

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Test Page</title>
</head>
<body>
<h1>Testing</h1>
</body>
</html>

任何 ASPX 页面(包括以上页面)都会返回 500 错误,并出现以下异常/堆栈跟踪:

[IOException: The file cannot be accessed by the system.
]
   System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +1143
   System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) +1242
   System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) +126
   Microsoft.CodeDom.Providers.DotNetCompilerPlatform.Compiler.get_CompilerName() +130
   Microsoft.CodeDom.Providers.DotNetCompilerPlatform.Compiler.FromFileBatch(CompilerParameters options, String[] fileNames) +826
   Microsoft.CodeDom.Providers.DotNetCompilerPlatform.Compiler.CompileAssemblyFromFileBatch(CompilerParameters options, String[] fileNames) +185
   System.Web.Compilation.AssemblyBuilder.Compile() +2032
   System.Web.Compilation.BuildProvidersCompiler.PerformBuild() +357
   System.Web.Compilation.ApplicationBuildProvider.GetGlobalAsaxBuildResult(Boolean isPrecompiledApp) +12029645
   System.Web.Compilation.BuildManager.CompileGlobalAsax() +52
   System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +341

[HttpException (0x80004005): The file cannot be accessed by the system.
]
   System.Web.Compilation.BuildManager.ReportTopLevelCompilationException() +76
   System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +631
   System.Web.Compilation.BuildManager.CallAppInitializeMethod() +38
   System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +758

[HttpException (0x80004005): The file cannot be accessed by the system.
]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +552
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +122
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +737

大约 6 天前,该系统运行正常:唯一的变化是最新 Windows 更新(版本 1903)--是的,没有排除这种可能性。

旧的 .ASP 页面可以正确加载,并且我已验证系统正在加载/访问 ASPX 配置文件(web.config、global.asax 等)。

也尝试卸载/重新安装 IIS,但无济于事。

答案1

找到了!天哪:我的 IIS 目录路径包含在 dropbox 中,而 dropbox 决定智能同步一些 roslyn 文件。因此 IIS 无法访问它们,因为名称只是占位符。

相关内容