2012-07-04 15 views
9

Estoy usando Visual Studio Express 2012 RC.El directorio no existe - Nombre del parámetro: directorioVirtualPath

  • Si un crear un espacio en blanco "4,5 proyecto MVC hola mundo"
  • I downgrade a 4.0 por lo que es compatible con mi anfitrión (Arvixe)
  • lo publico para el huésped.

Y luego aparece este mensaje de error, puedo encontrar cualquier información en línea.

Server Error in '/' Application. 

Directory does not exist. 
Parameter name: directoryVirtualPath 

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.ArgumentException: Directory does not exist. 
Parameter name: directoryVirtualPath 

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

Stack Trace: 


[ArgumentException: Directory does not exist. 
Parameter name: directoryVirtualPath] 
    System.Web.Optimization.Bundle.IncludeDirectory(String directoryVirtualPath, String searchPattern, Boolean searchSubdirectories) +357 
    System.Web.Optimization.Bundle.Include(String[] virtualPaths) +287 
    IconBench.BundleConfig.RegisterBundles(BundleCollection bundles) +75 
    IconBench.MvcApplication.Application_Start() +128 

[HttpException (0x80004005): Directory does not exist. 
Parameter name: directoryVirtualPath] 
    System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +9160125 
    System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +131 
    System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +194 
    System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +339 
    System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +253 

[HttpException (0x80004005): Directory does not exist. 
Parameter name: directoryVirtualPath] 
    System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9079228 
    System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +97 
    System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +256 

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.237 

¿Qué significa?

Código conforme a lo solicitado ^^

public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     return Content("Hello world"); 
    } 
} 

eso es el único código que he añadido.

código Application_Start

public class MvcApplication : System.Web.HttpApplication 
{ 
    protected void Application_Start() 
    { 
     AreaRegistration.RegisterAllAreas(); 

     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 
     RouteConfig.RegisterRoutes(RouteTable.Routes); 
     BundleConfig.RegisterBundles(BundleTable.Bundles); 
    } 
} 

RouteConfig

public class RouteConfig 
{ 
    public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapHttpRoute(
      name: "DefaultApi", 
      routeTemplate: "api/{controller}/{id}", 
      defaults: new { id = RouteParameter.Optional } 
     ); 

     routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
     ); 
    } 
} 

FilterConfig

public class FilterConfig 
{ 
    public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
    { 
     filters.Add(new HandleErrorAttribute()); 
    } 
} 

BundleConfig

public class BundleConfig 
{ 
    public static void RegisterBundles(BundleCollection bundles) 
    { 
     bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/Scripts/jquery-1.*")); 

     bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
        "~/Scripts/jquery-ui*")); 

     bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
        "~/Scripts/jquery.unobtrusive*", 
        "~/Scripts/jquery.validate*")); 

     bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
        "~/Scripts/modernizr-*")); 

     bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css")); 

     bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
        "~/Content/themes/base/jquery.ui.core.css", 
        "~/Content/themes/base/jquery.ui.resizable.css", 
        "~/Content/themes/base/jquery.ui.selectable.css", 
        "~/Content/themes/base/jquery.ui.accordion.css", 
        "~/Content/themes/base/jquery.ui.autocomplete.css", 
        "~/Content/themes/base/jquery.ui.button.css", 
        "~/Content/themes/base/jquery.ui.dialog.css", 
        "~/Content/themes/base/jquery.ui.slider.css", 
        "~/Content/themes/base/jquery.ui.tabs.css", 
        "~/Content/themes/base/jquery.ui.datepicker.css", 
        "~/Content/themes/base/jquery.ui.progressbar.css", 
        "~/Content/themes/base/jquery.ui.theme.css")); 
    } 
} 
+0

puede publicar su código –

+0

Claro que lo hará, pero es solo una prueba. – BjarkeCK

+1

¿puedes publicar el código dentro de application_start? –

Respuesta

15

parece que este error se origina de "no incluye los archivos deseados en el directorio de la aplicación" o subir su código en un directorio que no está configurado como un directorio virtual, o incluso en el directorio incorrecto.

+0

Creo que tienes mucha razón :) Lo probaré y estaré de vuelta en un minuto – BjarkeCK

+0

, déjame saber tu resultado. buena suerte. –

+0

Bueno, creo que resolvió el problema, pero ahora es uno nuevo: http: ** temp.iconbench.com/ – BjarkeCK

5

Este mensaje es similar a Directory does not exist. Parameter name: directoryVirtualPath

La respuesta me ayudó a depurar. Aparentemente, faltan carpetas en el servidor de destino. Mi aplicación funcionaba bien localmente, pero cuando publiqué, varios subdirectorios script no se publicaron. Cuando los conecté por FTP de manera manual, ¡la aplicación funcionó bien!

+0

Este fue mi problema también. Visual Studio no parece publicar directorios vacíos de forma predeterminada, aunque la aplicación los utiliza y se incluyen en el proyecto. –

3

Para ampliar la información aquí.

A menudo agrupo todos los archivos en una carpeta como esta: "~/Content/js/angular/modules/*.js", Y esto funciona muy bien mientras exista la carpeta.

El problema es que si esa carpeta está vacía cuando la publica, no se publicará y dará como resultado la excepción anterior. Así que ahora pongo un empty.txt o algo así como agregar la carpeta manualmente si quiero que permanezcan vacías por el momento.

+0

Ah, eso me ahorró horas :) Gracias – Yulian

-4

Crear directorio "/ content/themes/base"

0

cheque si tiene DLL en la carpeta bin y también la DLL existir en el archivo DLL quitar GAC

de GAC

Cuestiones relacionadas