
На моем компьютере для разработки возникает странная ошибка IIS (Windows 10 Professional, IIS 10) даже при открытии простой страницы ASPX:
<!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 не мог получить к ним доступ, так как имена были просто заполнителями.