Сервер iis не может найти файл index.aspx - ошибка 404

Я разрабатываю веб-приложение на asp.net с использованием VS 2015 (не MVC). Я выбрал «Проект» (не веб-сайт) для создания приложения. Приложение работает нормально на моем локальном компьютере. Я опубликовал веб-сайт (используя файловую систему согласно скомпилированной версии) и загрузил его на сервер. Теперь я получаю текущую ошибку:

Ресурс не найден.

Описание: HTTP 404. Ресурс, который вы ищете (или одна из его зависимостей), мог быть удален, изменилось его имя или временно недоступен. Просмотрите следующий URL-адрес и убедитесь, что он написан правильно.

Запрошенный URL: /Index.aspx

Но файл index.aspx находится под корнем. Я не уверен, почему IIS не может найти файл index.aspx.

Требуются ли какие-либо изменения в файле web.config? Есть подсказка?

Вы можете найти сайт по адресу http://ssdm.xinksoft.com/

Спасибо

Партха Саратхи Чакраборти

Вы пытались вместо этого запросить этот URL: /Index?

Rafalon 10.08.2018 15:47

@Rafalon, ты прав. / index работает. Но пользователь будет набирать сайт только без файла. Как я могу решить эту проблему ... требуется ли какое-либо изменение в параметре settings.AutoRedirectMode в файле RouteConfig?

Partha 10.08.2018 16:12

Возможный дубликат Опубликовать сайт без roslyn

NineBerry 10.08.2018 18:39
1
3
802
2

Ответы 2

В диспетчере IIS вы можете указать документ по умолчанию для своего веб-сайта. Вы объявили index.aspx?

enter image description here

да. Я сделал. Но проблема существует.

Partha 10.08.2018 16:00

Как и спросил NineBerry, скопировали ли вы всю папку bin и установлена ​​ли на сервере среда выполнения .net (та же версия, что и у проекта)? Какую версию ASP.Net вы используете?

Zysce 10.08.2018 16:06

Если вы посмотрите исходный код сообщения об ошибке, то увидите следующее сообщение:

<!-- 
[FileNotFoundException]: Could not find file &#39;D:\INETPUB\VHOSTS\xinksoft.com\ssdm.xinksoft.com\bin\roslyn\csc.exe&#39;.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at 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)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   at Microsoft.CodeDom.Providers.DotNetCompilerPlatform.Compiler.get_CompilerName()
   at Microsoft.CodeDom.Providers.DotNetCompilerPlatform.Compiler.FromFileBatch(CompilerParameters options, String[] fileNames)
   at Microsoft.CodeDom.Providers.DotNetCompilerPlatform.Compiler.CompileAssemblyFromFileBatch(CompilerParameters options, String[] fileNames)
   at System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromFile(CompilerParameters options, String[] fileNames)
   at System.Web.Compilation.AssemblyBuilder.Compile()
   at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
   at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
   at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
   at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
   at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
   at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)
   at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
   at System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path)
   at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
[HttpException]: Exception of type &#39;System.Web.HttpException&#39; was thrown.
   at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
-->

Итак, файл на D:\INETPUB\VHOSTS\xinksoft.com\ssdm.xinksoft.com\bin\roslyn\csc.exe отсутствует. Может быть, вы не скопировали всю папку bin?

Провайдер сервера не разрешает размещать EXE-файл в папке bin.

Partha 10.08.2018 18:28

Вы можете попробовать шаги в stackoverflow.com/questions/32282880/… или предложение в blogs.msdn.microsoft.com/jpsanders/2018/02/22/…

NineBerry 10.08.2018 18:43

Другие вопросы по теме