.NET MVC - система не может найти указанный путь - PullRequest
0 голосов
/ 10 июня 2009

вчера я развернул свой сайт с c: \ development \ project \ на c: \ inetpub \ wwwroot \ virtualdir \ (тот же компьютер). Некоторое время это работало, я мог зайти на сайт, зайдя на http://computername/virtualdir/.

Но сегодня утром все получили сообщение об ошибке: система не может найти указанный путь.

Какой указывается путь, который нельзя найти? / virtualdir / bin / содержит сборку System.Web.Mvc.Dll ... Кроме того, проект развертывания пометил его как зависимость, поэтому я действительно был включен во время установки, как он может внезапно измениться?

Трассировка стека:

[DirectoryNotFoundException: система не может найти указанный путь. (Исключение из HRESULT: 0x80070003)]

[FileNotFoundException: не удалось загрузить файл или сборку 'System.Web.Mvc, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35' или одна из ее зависимостей. Система не может найти указанный путь.]

[FileNotFoundException: не удалось загрузить файл или сборку 'System.Web.Mvc, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35' или одна из ее зависимостей. Система не может найти указанный путь.] System.Reflection.Assembly._nLoad (имя_сборки имя_файла, строковое codeBase, доказательство сборкиSecurity, расположение сборкиHint, StackCrawlMark & ​​stackMark, логическое значение throwOnFileNotFound, логическое значение для внутренней проверки) +0 System.Reflection.Assembly.nLoad (AssemblyName fileName, строка codeBase, сборка доказательствБезопасность, расположение сборкиHint, StackCrawlMark & ​​stackMark, логическое значение throwOnFileNotFound, логическое значение для внутренней проверки) +43 System.Reflection.Assembly.InternalLoad (AssemblyName assemblyRef, Evidence AssemblySecurity, StackCrawlMark & ​​stackMark, Boolean forIntrospection) +127 System.Reflection.Assembly.InternalLoad (строка String AssemblyString, доказательство AssemblySecurity, StackCrawlMark & ​​stackMark, логическое значение для интроспекции) +142 System.Reflection.Assembly.Load (String assemblyString) +28 System.Web.Configuration.CompilationSection.LoadAssemblyHelper (String AssemblyName, Boolean starDirective) + 46

[ConfigurationErrorsException: не удалось загрузить файл или сборку 'System.Web.Mvc, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35' или одна из ее зависимостей. Система не может найти указанный путь.] System.Web.Configuration.CompilationSection.LoadAssemblyHelper (String assemblyName, Boolean starDirective) +613 System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory () +203 System.Web.Configuration.CompilationSection.LoadAssembly (AssemblyInfo ai) +105 System.Web.Compilation.BuildManager.GetReferencedAssemblies (CompilationSection compConfig) +178 System.Web.Compilation.BuildManager.GetReferencedAssemblies () +55 System.Web.Mvc.BuildManagerWrapper.System.Web.Mvc.IBuildManager.GetReferencedAssemblies () +21 System.Web.Mvc.ControllerTypeCache.GetAllControllerTypes (IBuildManager buildManager) +62 System.Web.Mvc.ControllerTypeCache.EnsureInitialized (IBuildManager buildManager) +73 System.Web.Mvc.DefaultControllerFactory.GetControllerTypeWithinNamespaces (String controllerName, пространства имен HashSet`1) +83 System.Web.Mvc.DefaultControllerFactory.GetControllerType (String controllerName) +305 System.Web.Mvc.DefaultControllerFactory.CreateController (RequestContext requestContext, String controllerName) +65 System.Web.Mvc.MvcHandler.ProcessRequest (HttpContextBase httpContext) +128 System.Web.Mvc.MvcHandler.ProcessRequest (HttpContext httpContext) +57 System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest (HttpContext httpContext) +7 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute () +181 System.Web.HttpApplication.ExecuteStep (шаг IExecutionStep, логическое и завершено синхронно) + 75

Ответы [ 2 ]

1 голос
/ 10 июня 2009

Он находит System.Web.Mvc просто отлично, как вы можете видеть на трассировке стека:

System.Web.Mvc.MvcHandler.ProcessRequest(HttpContextBase httpContext) +128

Похоже, что происходит, это ControllerTypeCache, при попытке перечислить все ассембли, на которые ссылаются, чтобы найти контроллеры, не удается найти сборку, на которую ссылается другой.

Прочтите эту запись в блоге о том, как точно определить, чего не хватает.

0 голосов
/ 09 июля 2012

Для всех, кто приходит к этому вопросу с помощью поиска, другая ошибка конфигурации, которая может привести к появлению этого сообщения об ошибке, заключается в том, что в вашей конфигурации виртуального каталога нет карты подстановки, созданной для asnet_isapi.dll.

Чтобы создать сопоставление:

  • Откройте свойства вашего виртуального каталога.
  • На вкладке «Виртуальный каталог» нажмите кнопку «Конфигурация»
  • Нажмите «Вставить» и перейдите к файлу «aspnet_isapi.dll» соответствующей версии .Net
  • Снимите флажок «Проверять, существует ли файл»
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...