
開発用 PC で、単純な 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 はそれらにアクセスできませんでした。