Configure un servidor de archivos estáticos OWIN en un prefijo de ruta específico

Estoy experimentando con mantener mi contenido en ubicaciones no predeterminadas (por ejemplo, enbower_components o/packages/../tools) Como parte del experimento, estoy tratando de configurar una aplicación asp.net mvc 5 donde golpear una ruta determinada me permite navegar por los archivos en el directorio del paquete undersorejs.

Tengo los siguientes paquetes nuget (además del predeterminado)

Install-Package underscore.js
Install-Package Microsoft.Owin.StaticFiles
Install-Package Microsoft.Owin.Host.SystemWeb

Esto es lo que tengo en una clase de inicio OWIN

 var fileSystem = new PhysicalFileSystem(
                    HttpContext.Current.Server.MapPath("~")+"/../packages/underscore.js.1.6.0"
                  );
 var options = new FileServerOptions {EnableDirectoryBrowsing = true, FileSystem = fileSystem};

 app.MapWhen(ctx => 
      ctx.Request.Uri.AbsolutePath.StartsWith("/__underscore"), 
      ab => ab.UseFileServer(options)
 );

Para mi comprensión y experimentación previa, esto es bastante sencillo: cuando la solicitud comienza con/__underscore use el servidor de archivos estático simple. Sin embargo, cuando me dirijo a/__underscore Me sale un error 404.

Sin embargo, al colocar puntos de interrupción puedo ver que la lambda UseFileServer se ejecuta una vez al inicio y luego nunca más, mientras que se llama al predicado lambda en cada solicitud (y devuelve el valor correcto).

¿Qué me estoy perdiendo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta