2009-06-10 1 views
0

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

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

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

Стек след:

[DirectoryNotFoundException: The system cannot find the path specified. (Exception from HRESULT: 0x80070003)]

[FileNotFoundException: Could not load file or assembly 'System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the path specified.]

[FileNotFoundException: Could not load file or assembly 'System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the path specified.] System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +0 System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +43 System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +127 System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +142 System.Reflection.Assembly.Load(String assemblyString) +28 System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +46

[ConfigurationErrorsException: Could not load file or assembly 'System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the path specified.] 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 namespaces) +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 step, Boolean& completedSynchronously) +75

ответ

1

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

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

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

Прочитайте это blog entry о том, как точно определить, чего не хватает.

+0

Благодарим за информацию! – Ropstah

0

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

Для создания отображения:

  • Откройте свойства вашего виртуального каталога.
  • На вкладке "виртуальной каталог, нажмите кнопку«Конфигурация»
  • Нажмите кнопку«Вставить»и найдите файл в соответствующих версиях .NET в«aspnet_isapi.dll»
  • Снимите флажок" Проверить файл существует Флажок